我有一个循环,直到i < pixels.lenth
pixels = bitmap.getpixels(..)
。
现在我在循环中有这个代码:
int argb = 0;
argb += ((pixels[x] >> 24) & 0xff); // alpha
argb += (pixels[x] & 0xff); // blue
argb += ((pixels[x] & 0xff) << 8); // green
argb += ((pixels[x] & 0xff) << 16); // red
pixels[x] = argb;
问题是图像变为灰色和粗体(如果有人需要可以添加图片),而不是保持正常。谁能帮我? 非常感谢
答案 0 :(得分:0)
你换错了顺序。它应该是:
int argb = 0;
int alpha = ((pixels[x] >> 24) & 0xff); // alpha
int blue = (pixels[x] & 0xff); // blue
int green = ((pixels[x] >> 8 )& 0xff) ; // green
int red = ((pixels[x] >> 16) & 0xff); // red
pixels[x] = alpha << 24 + red << 16 + green << 8 + blue