当前位置: 移动技术网 > IT编程>移动开发>Android > android图片类型之间相互转换实现代码

android图片类型之间相互转换实现代码

2019年07月24日  | 移动技术网IT编程  | 我要评论

酷老公的甜心,只有香如故,弘扬传统文化作文

本文实例讲述了android图片类型之间相互转换实现代码。分享给大家供大家参考。具体如下:

android在处理一写图片资源的时候,会进行一些类型的转换,现在有空整理一下:

1、drawable → bitmap

java代码如下:

public static bitmap drawabletobitmap(drawable drawable) { 
 bitmap bitmap = bitmap 
   .createbitmap( 
     drawable.getintrinsicwidth(), 
     drawable.getintrinsicheight(), 
     drawable.getopacity() != pixelformat.opaque ? bitmap.config.argb_8888 
       : bitmap.config.rgb_565); 
 canvas canvas = new canvas(bitmap); 
 //canvas.setbitmap(bitmap); 
 drawable.setbounds(0, 0, drawable.getintrinsicwidth(), drawable.getintrinsicheight()); 
 drawable.draw(canvas); 
 return bitmap; 
} 
public static bitmap drawabletobitmap(drawable drawable) { 
 bitmap bitmap = bitmap 
   .createbitmap( 
     drawable.getintrinsicwidth(), 
     drawable.getintrinsicheight(), 
     drawable.getopacity() != pixelformat.opaque ? bitmap.config.argb_8888 
       : bitmap.config.rgb_565); 
 canvas canvas = new canvas(bitmap); 
 //canvas.setbitmap(bitmap); 
 drawable.setbounds(0, 0, drawable.getintrinsicwidth(), drawable.getintrinsicheight()); 
 drawable.draw(canvas); 
 return bitmap; 
} 

2、从资源中获取bitmap

java代码如下:

resources res=getresources(); 
bitmap bmp=bitmapfactory.decoderesource(res, r.drawable.pic); 
resources res=getresources(); 
bitmap bmp=bitmapfactory.decoderesource(res, r.drawable.pic); 

3、bitmap → byte[]

java代码如下:

private byte[] bitmap2bytes(bitmap bm){ 
 bytearrayoutputstream baos = new bytearrayoutputstream(); 
 bm.compress(bitmap.compressformat.png, 100, baos); 
 return baos.tobytearray(); 
} 
private byte[] bitmap2bytes(bitmap bm){ 
 bytearrayoutputstream baos = new bytearrayoutputstream(); 
 bm.compress(bitmap.compressformat.png, 100, baos); 
 return baos.tobytearray(); 
} 

4、 byte[] → bitmap

java代码如下:

private bitmap bytes2bimap(byte[] b){ 
  if(b.length!=0){ 
  return bitmapfactory.decodebytearray(b, 0, b.length); 
  } 
  else { 
  return null; 
  } 
} 
private bitmap bytes2bimap(byte[] b){ 
  if(b.length!=0){ 
  return bitmapfactory.decodebytearray(b, 0, b.length); 
  } 
  else { 
  return null; 
  } 
}

以上是我在实践中遇到的一些转换,以后遇到类似的就不用到处找了。

希望本文所述对大家的android程序设计有所帮助。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网