一张图片,可以通过getPixels()将所有的像素信息加载到一个int[]中. 所以我们可以通过修改这个数组中的信息从而达到修改图片的目的.
像素点的信息为ARGB.32位.最高8位为透明度信息.所以如果想要修改该透明度就只修改这8为的信息即可.
int[] array; int x, y;
array[x+y*width]=0. 则此像素点位完全透明.
如果是要获得或者判断的话. 通过公式 :(原来的颜色&0x00FFFFFF)|0x透明度000000 即可
例: array[x+y*width] >>> 24 这个取到的就是像素点的透明度信息.
array[x+y*width] = (array[x+y*width] & 0x00FFFFFF ) | 0xAF000000; 则是修改像素点的透明度信息
根据这些就基本可以达到自己想要的效果了. RGB类同. width是要操作区域的宽.即为getPixels()里填的width信息
修改完毕后就可以通过createBitmap 来创建图像了
像素点的信息为ARGB.32位.最高8位为透明度信息.所以如果想要修改该透明度就只修改这8为的信息即可.
int[] array; int x, y;
array[x+y*width]=0. 则此像素点位完全透明.
如果是要获得或者判断的话. 通过公式 :(原来的颜色&0x00FFFFFF)|0x透明度000000 即可
例: array[x+y*width] >>> 24 这个取到的就是像素点的透明度信息.
array[x+y*width] = (array[x+y*width] & 0x00FFFFFF ) | 0xAF000000; 则是修改像素点的透明度信息
根据这些就基本可以达到自己想要的效果了. RGB类同. width是要操作区域的宽.即为getPixels()里填的width信息
修改完毕后就可以通过createBitmap 来创建图像了