android图片类型之间相互转换实现代码
程序员文章站
2024-02-08 16:59:28
本文实例讲述了android图片类型之间相互转换实现代码。分享给大家供大家参考。具体如下:
android在处理一写图片资源的时候,会进行一些类型的转换,现在有空整理一下...
本文实例讲述了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程序设计有所帮助。