美文网首页
Bitmap getPixels和copyPixelsToBuf

Bitmap getPixels和copyPixelsToBuf

作者: tzlf | 来源:发表于2020-11-26 17:04 被阅读0次

之前以为getPixels和copyPixelsToBuffer的差别在于int和byte,但实际上copyPixelsToBuffer获取的数据中的rgb分量是经过alpha处理,以下面代码举例

Bitmap bitmap8 = Bitmap.createBitmap(1,1, Bitmap.Config.ARGB_8888);

Canvas canvas2 =new Canvas(bitmap8);

canvas2.drawColor(0x80123456);

bitmap.getPixels获取的数据如下:

pixls8 :80123456

bitmap.copyPixelsToBuffer获取数据如下:

bp8 :09 1A 2B 80

可以看到copyPixelsToBuffer的数据是上面值的一半,如09(十进制9)对应12(十进制18),1A(十进制26)对应34(十进制52),2B(十进制43)对应56(十进制86),这是因为alpha通道的值为0x80(128),128/255=0.5

相关文章

网友评论

      本文标题:Bitmap getPixels和copyPixelsToBuf

      本文链接:https://www.haomeiwen.com/subject/lckziktx.html