1
import java.awt.*;
import java.awt.image.*;
public class Transparency {
public static Image makeColorTransparent(Image im, final Color color) {
ImageFilter filter = new RGBImageFilter() {
public int markerRGB = color.getRGB() | 0xFF000000;
public final int filterRGB(int x, int y, int rgb) {
if ((rgb | 0xFF000000) == markerRGB) {
return 0x00FFFFFF & rgb;
}
else {
return rgb;
}
}
};
ImageProducer ip = new FilteredImageSource(im.getSource(), filter);
return Toolkit.getDefaultToolkit().createImage(ip);
}
}
GifModifiedWithTransparentBackground =
Transparency.makeColorTransparent
(GifOriginalWithWithBlueBackground, new Color(0).blue);
}
この例では背景を透明に変更していますが、実際に透明に設定されている場所は見つかりませんでした。透明にするのではなく、別の色に変更したいのですが、透明に設定する場所がわからないのでできません。透明に設定されている場所を教えてもらえますか?Java画像の色を変更する
'return 0x00FFFFFF & rgb;'です。これは同じ色で、アルファはゼロに設定されています。 – resueman
カラー値は '0xAARRGGBB'として保存されます。別のアルファが必要な場合は、アルファ部分( '00')をあなたが望む値(' 00'と 'FF'の間)に置き換えます。 – resueman
だから私はそれを交換する色を変更しますか? – Repardeimaj