Я настраиваю альфа rgb для проверки в java. Этот код изменяет значение альфа, но после сохранения файла я не могу получить то же значение. Как преодолеть эту проблему.Изменение альфа-бит rgb
// ================ Code for setting alpha ===============
int alpha=140;
// alpha value to set in rgb
int b=alpha<<24;
b=b|0x00ffffff;
ialpha.setRGB(0, 0,ialpha.getRGB(0, 0)&b);
// ialpha is a bufferedimage of type TYPE_INT_ARGB
ImageIO.write(ialpha, "png", new File("C:/newimg.png"));
System.out.println("\nFile saved !");
// ================ Code for getting alpha ===============
int val=(ialpha.getRGB(0, 0)&0xff000000)>>24;
if(val<0)
val=256+val;
System.out.println("Returned alpha value:"+val);
Это просто возвращает 255 как значение альфа. он не возвращает значение i, установленное i.e 140.
Пожалуйста, помогите мне получить ранее введенное значение альфа.
Почему вы используете бит-операцию? В java есть несколько прекрасных функций, чтобы получить заданный rgb, чтобы создать новый цвет и так далее. –
Возможный дубликат [this] (http://stackoverflow.com/questions/6734171/set-rgb-and-alpha-component-value-of-a-color?rq=1). Вы можете найти то, что ищете здесь. – Maximin