由于ARGB_4444已废除,而ALPHA_8需要在特殊条件下使用,一般用来做特殊需求的,所以我们大多数是用的还是ARGB_8888和RGB_565。 RGB_565能够在保证图片质量的情况下大大减少内存的开销,是解决oom的一种方法。但是一定要注意RGB_565是没有透明度的,如果图片本身需要保留透明度,那么就不能使用RGB_565。 同时也要注意,in...
;System.out.println("bitmap RGB_565 length " + bitmap2.getRowBytes() * bitmap2.getHeight());BitmapFactory.Options options3 = new BitmapFactory.Options();options3.inPreferredConfig = Bitmap.Config.ALPHA_8;Bitmap bitmap3 = BitmapFactory.decodeByteArray(data, 0 , data.length, options3);...
height,Bitmap.Config.RGB_565);// 遍历像素进行转换for(intx=0;x<width;x++){for(inty=0;y<height;y++){intargb8888Pixel=bitmap.getPixel(x,y);intr=(argb8888Pixel>>16)&0xFF;intg=(argb8888Pixel>>8)&0xFF;intb=argb
首先,我们需要获取源Bitmap对象的宽度和高度,然后使用Bitmap.createBitmap()方法创建一个新的Bitmap对象。 // 获取源Bitmap对象的宽度和高度intwidth=sourceBitmap.getWidth();intheight=sourceBitmap.getHeight();// 创建新的Bitmap对象,指定宽高和像素格式RGB_565BitmapnewBitmap=Bitmap.createBitmap(width,he...
Bitmap.Config ARGB_8888:有四个8位组成,A,R,G,B各占八位,也就是各占一个字节。也就是一个像素点占4个字节,32位。 Bitmap.Config ARGB_4444:4+4+4+4 = 16,一个像素点占16位,2个字节。 Bitmap.Config RGB_565:R占5位,G占6位,B占5位。5+6+5 = 16,一个像素点占16位,2字节。
RGB_565:5+6+5=16,图形的参数应该由两个字节来表示,应该是一种16位的位图. 网上讲,ALPHA_8,ARGB_4444,ARGB_8888都是透明的位图,也就是所字母A代表透明. ARGB_4444:意味着有四个参数,即A,R,G,B,每一个参数由4bit表示. 同理: ARGB_8888:意味着有四个参数,即A,R,G,B,每一个参数由8bit来表示....
Bitmap.Config RGB_565:每个像素占四位,即R=5,G=6,B=5,没有透明度,那么一个像素点占5+6+5=16位 Bitmap.Config ALPHA_8:每个像素占四位,只保存透明度,不保存颜色。 一般情况下我们都是使用的ARGB_8888,由此可知它是最占内存的,因为一个像素占32位,8位=1字节,所以一个像素占4字节的内存。假设有一张...
如果想要节省内存,可以使用 ARGB_4444 或者 RGB_565。它们相比 ARGB_8888 内存占用都小了一半。 ARGB_4444 图片的失真是比较严重的。 RGB_565 图片的失真虽然很小,但是没有透明度。 ALPHA_8 只有透明度,没有颜色值。对于在图片上设置遮盖的效果的是有很有用。
ARGB_4444就是由4个4位组成即16位, ARGB_8888就是由4个8位组成即32位, RGB_565就是R为5位,G为6位,B为5位共16位 由此可见: ALPHA_8 代表8位Alpha位图 ARGB_4444 代表16位ARGB位图 ARGB_8888 代表32位ARGB位图 RGB_565 代表8位RGB位图 位图位数越高代表其可以存储的颜色信息越多,当然图像也就越逼真...
四种色彩模式ARGB_8888、ARGB_4444、RGB_565、ALPHA_8 四种⾊彩模式ARGB_8888、ARGB_4444、RGB_565、ALPHA_8 A:透明度。R:红⾊。G:绿⾊。B:蓝⾊。Bitmap.Config ARGB_8888:有四个8位组成,A,R,G,B各占⼋位,也就是各占⼀个字节。也就是⼀个像素点占4个字节,32位。Bitmap.Config ...