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