酷老公的甜心,只有香如故,弘扬传统文化作文
本文实例讲述了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程序设计有所帮助。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Android apk 项目一键打包并上传到蒲公英的实现方法
Android 自定义LineLayout实现满屏任意拖动功能的示例代码
android 限制某个操作每天只能操作指定的次数(示例代码详解)
Android 集成 google 登录并获取性别等隐私信息的实现代码
网友评论