|
// 得到灰度图
public static final Image grayImage(Image img){
if(img == null){
System.out.println("grayAlfImage");
return null;
}
int imgW = img.getWidth();
int imgH = img.getHeight();
int[] imgRGBData = new int[imgW*imgH];
img.getRGB(imgRGBData,0,imgW,0,0,imgW,imgH);
int ALF = 0;
int R = 0;
int G = 0;
int B = 0;
int GRAY = 0;
for(int i=0;i<imgRGBData.length;i++){
ALF = (imgRGBData >> 24) & 0xFF;
R = (imgRGBData >> 16) & 0xFF;
G = (imgRGBData >> 8) & 0xFF;
B = imgRGBData & 0xFF;
GRAY = (R*77+G*151+B*28 + 128)>>8;
imgRGBData = (ALF<<24)|(GRAY<<16)|(GRAY<<8)|GRAY;
}
return Image.createRGBImage(imgRGBData,imgW,imgH,true);
}
另外打个广告:欢迎加入J2ME专业技术群42800413,新手达人不限,因为本人以帮助新人解决疑难和与高手探讨技术为生活乐趣! |
|