位图getpixel始终返回负数

时间:2019-05-28 12:25:20

标签: android bitmap rgb

我已经从设备存储中将图像作为位图加载,并想从中检索像素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

1 个答案:

答案 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 ````