static void savePNG(BufferedImage img, File file) ctex { File tempFile = new File(file.getPath() + "_temp"); CriticalAction ca = beginCriticalAction("Save " + f2s(file)); try { ImageIO.write(img, "png", mkdirsFor(tempFile)); file.delete(); tempFile.renameTo(file); } finally { ca.done(); } } // gotta love convenience & program-smartness static void savePNG(File etc file, BufferedImage img) { savePNG(img, file); } ifclass RGBImage static void savePNG(File file, RGBImage img) { savePNG(file, img.getBufferedImage()); } endif