package kuro.misc.image;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class TransparentColor {
private static String FILE_IN = "C:/work/temp/test.png";
private static String FILE_OUT = "C:/work/temp/test-out.png";
public static void main(String[] args) throws IOException {
BufferedImage image = ImageIO.read(new File(FILE_IN));
ImageIO.write(image, "PNG", new File(FILE_OUT));
}
}
こんな感じのコードを書いて、透過色指定をした「test.png」を読み込ませると、 出力される「test-out.png」は透過色指定がなくなってしまう。
BufferedImage image = ImageIO.read(new File(FILE_IN));
System.out.println(
"Image transparency = " + image.getTransparency());
-----------
Image transparency = 1
getTransparency の出力値の意味は以下の通り。
package java.awt;
public abstract interface Transparency
{
public static final int OPAQUE = 1;
public static final int BITMASK = 2;
public static final int TRANSLUCENT = 3;
public abstract int getTransparency();
}
読み込んだ時点で 透過情報のあるImageだとは扱われていない模様。