我已经从设备存储中将图像作为位图加载,并想从中检索像素rgb,但是getPixel(x,y)
方法始终返回一个较大的负数
我发现了类似的问题,甚至找到了与答案相同的代码,但是对我来说位图是可变的
代码
inputBitmap=inputBitmap.copy( Bitmap.Config.ARGB_8888 , true);
int pixel;
byte r, g, b;
pixel =inputBitmap.getPixel(j, i);
Log.e("pixel","j "+j+" i "+i+" "+pixel);
r = (byte)Color.red(pixel);
g = (byte)Color.green(pixel);
b = (byte)Color.blue(pixel);
Log.e("COLOR","\n"+"Red : "+r+"\n"+"Green : "+g+"\n"+"Blue : "+b);
Logcat
05-28 13:02:51.335 20379-20379/pfe.steganography E/COLOR:
Red : -1
Green : -1
Blue : -1
05-28 13:02:51.335 20379-20379/pfe.steganography E/pixel: -1
05-28 13:02:51.335 20379-20379/pfe.steganography E/COLOR:
Red : -1
Green : -1
Blue : -1
05-28 13:02:51.335 20379-20379/pfe.steganography E/pixel: -1
05-28 13:02:51.335 20379-20379/pfe.steganography E/COLOR:
Red : -1
Green : -1
Blue : -1
05-28 13:02:51.335 20379-20379/pfe.steganography E/pixel: -460552
05-28 13:02:51.335 20379-20379/pfe.steganography E/COLOR:
Red : -8
Green : -8
Blue : -8
05-28 13:02:51.336 20379-20379/pfe.steganography E/pixel: -1381654
05-28 13:02:51.336 20379-20379/pfe.steganography E/COLOR:
Red : -22
Green : -22
Blue : -22
05-28 13:02:51.336 20379-20379/pfe.steganography E/pixel: -1315861
05-28 13:02:51.336 20379-20379/pfe.steganography E/COLOR:
Red : -21
Green : -21
Blue : -21
答案 0 :(得分:0)
已解决
已解决但仍然很奇怪,在下面的日志中,我具有随机的正/负号,但是绝对值正确,我要做的就是保持其绝对值并且有效
05-28 14:35:21.225 15064-15064/pfe.steganography E/pixel: -16743306
05-28 14:35:21.225 15064-15064/pfe.steganography E/COLOR: Red : 0
Green : -124
Blue : 118
05-28 14:35:21.649 15064-15064/pfe.steganography E/pixel: -13920116
05-28 14:35:21.649 15064-15064/pfe.steganography E/COLOR: Red : 43
Green : -104
Blue : -116
05-28 14:35:22.057 15064-15064/pfe.steganography E/pixel: -48066684
05-28 14:35:22.057 15064-15064/pfe.steganography E/COLOR: Red : 34
Green : -113
Blue : -124 ````