我在 java 中设置 buffredimage 的 rgb 的 alpha。此代码更改 alpha 值,但保存文件后我无法检索相同的值。如何克服这个问题。
// ================ 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 作为 alpha 值。它不返回我设置的值,即 140。
请帮我找回我之前设置的 alpha 值。