Android:Bitmap->Drawble->Byte[]
16lz
2021-12-04
android在处理一写图片资源的时候,会进行一些类型的转换,现在有空整理一下:
1、Drawable → Bitmap
Java代码- publicstaticBitmapdrawableToBitmap(Drawabledrawable){
- Bitmapbitmap=Bitmap
- .createBitmap(
- drawable.getIntrinsicWidth(),
- drawable.getIntrinsicHeight(),
- drawable.getOpacity()!=PixelFormat.OPAQUE?Bitmap.Config.ARGB_8888
- :Bitmap.Config.RGB_565);
- Canvascanvas=newCanvas(bitmap);
- //canvas.setBitmap(bitmap);
- drawable.setBounds(0,0,drawable.getIntrinsicWidth(),drawable.getIntrinsicHeight());
- drawable.draw(canvas);
- returnbitmap;
- }
2、从资源中获取Bitmap
Java代码
- Resourcesres=getResources();
- Bitmapbmp=BitmapFactory.decodeResource(res,R.drawable.pic);
3、Bitmap → byte[]
Java代码
- privatebyte[]Bitmap2Bytes(Bitmapbm){
- ByteArrayOutputStreambaos=newByteArrayOutputStream();
- bm.compress(Bitmap.CompressFormat.PNG,100,baos);
- returnbaos.toByteArray();
- }
4、 byte[] → Bitmap
- privateBitmapBytes2Bimap(byte[]b){
- if(b.length!=0){
- returnBitmapFactory.decodeByteArray(b,0,b.length);
- }
- else{
- returnnull;
- }
- }
转换Bitmap to Drawable
Java代码
- BitmapDrawablebitmapDrawable=(BitmapDrawable)bitmap;
- Drawabledrawable=(Drawable)bitmapDrawable;
- Bitmapbitmap=newBitmap(...);
- Drawabledrawable=newBitmapDrawable(bitmap);
///////BitmapDrawable bitmapDrawable = (BitmapDrawable)bitmap;这一句应该改成BitmapDrawable bd = new BitmapDrawable(bitmap);////////
转换Drawable to Bitmap
Java代码
- Drawabled=ImagesList.get(0);
- Bitmapbitmap=((BitmapDrawable)d).getBitmap();
更多相关文章
- Android防止暴力(多次)点击 - 代码已封装可直接使用
- Android学习笔记(八)
- 常用代码合集一
- Android(安卓)实例及组件
- PopupWindow 动画显示与消失(逐惭缩放、逐惭透明)
- 圆形button
- Android(安卓)TextView跑马灯效果代码
- Android(安卓)3D与JNI结合的小例子
- android中的ListView与ScrollView冲突保留ScrollV