Android图片转换

Drawable、Bitmap、byte[]之间的转换

最近想试试从Android部分获取一张图片在Unity中进行显示,需要将图片转换为byte[]格式,借此机会整理一下Android的图片转换,即Drawable、Bitmap、byte[]之间的转换,希望能给大家带来一些帮助。

1、Drawable → Bitmap

转成Bitmap对象后,可以将Drawable对象通过Android的SK库存成一个字节输出流,最终还可以保存成为jpg和png的文件。

转化方法有不少:

比如有一个Drawable da

BitmapDrawable bd = (BitmapDrawable) da;

Bitmap bm = bd.getBitmap();

最终bm就是我们需要的Bitmap对象了。

或者使用如下方式:

代码如下:

public static Bitmap drawable2Bitmap(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 → Drawable

比如有一个Bitmap bm

BitmapDrawable bd=new BitmapDrawable(bm);
因为BtimapDrawable是Drawable的子类,最终直接使用bd对象即可。

代码如下:


public static Drawable Bitmap2Drawable(Bitmap bitmap) { 

BitmapDrawable bd = new BitmapDrawable(bitmap); 

// 因为BtimapDrawable是Drawable的子类,最终直接使用bd对象即可。
return bd; 

}

3、从资源中获取Bitmap

代码如下:

Resources res=getResources();

Bitmap bmp=BitmapFactory.decodeResource(res, R.drawable.pic);

4、Bitmap → byte[]

代码如下:


private byte[] Bitmap2Bytes(Bitmap bm){  

    ByteArrayOutputStream baos = new ByteArrayOutputStream();   

    bm.compress(Bitmap.CompressFormat.PNG, 100, baos);    

    return baos.toByteArray();  

   }

5、 byte[] → Bitmap

代码如下:

private Bitmap Bytes2Bimap(byte[] b){  

            if(b.length!=0){  

                return BitmapFactory.decodeByteArray(b, 0, b.length); 

            }
            else {  

                return null;  

            }
      }
时间: 2024-09-22 01:23:05

Android图片转换的相关文章

bitmap-android中怎么把一个Bitmap图片转换成file类型

问题描述 android中怎么把一个Bitmap图片转换成file类型 我是根据一个URL从网上解析到的图片,代码如下://创建一个url对象URL url=new URL(showHeadimg);//打开URL对应的资源输入流 InputStream is= url.openStream(); //从InputStream流中解析出图片Bitmap bitmap = BitmapFactory.decodeStream(is); 现在想把这个bitmap转成一个File类型提交到后台,请问要

方法-FinalBitmap 图片转换成圆形

问题描述 FinalBitmap 图片转换成圆形 FinalBitmap 加载url获取图片,有什么方法能把加载的图片转换成圆形吗 解决方案 参考android圆形头像的处理实现(支持FinalBitmap) :http://blog.csdn.net/it_mashimaro/article/details/38706335

android图片处理方法(不断收集中)

http://gundumw100.iteye.com/blog/849729 将一个图片切割成多个图片 有种场景,我们想将一个图片切割成多个图片.比如我们在开发一个拼图的游戏,就首先要对图片进行切割. 以下是封装好的两个类,可以实现图片的切割.仅供参考和学习. 一个是ImagePiece类,此类保存了一个Bitmap对象和一个标识图片的顺序索引的int变量. import android.graphics.Bitmap; public class ImagePiece { public int

Android图片缓存之Bitmap详解(一)_Android

前言: 最近准备研究一下图片缓存框架,基于这个想法觉得还是先了解有关图片缓存的基础知识,今天重点学习一下Bitmap.BitmapFactory这两个类.  Bitmap:Bitmap是Android系统中的图像处理的最重要类之一.用它可以获取图像文件信息,进行图像剪切.旋转.缩放等操作,并可以指定格式保存图像文件. 重要函数  •public void recycle() // 回收位图占用的内存空间,把位图标记为Dead  •public final boolean isRecycled()

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

本文实例讲述了android图片类型之间相互转换实现代码.分享给大家供大家参考.具体如下: android在处理一写图片资源的时候,会进行一些类型的转换,现在有空整理一下: 1.Drawable → Bitmap Java代码如下: public static Bitmap drawableToBitmap(Drawable drawable) { Bitmap bitmap = Bitmap .createBitmap( drawable.getIntrinsicWidth(), drawab

picasso_强大的Android图片下载缓存库

 picasso是Square公司开源的一个Android图形缓存库,地址http://square.github.io/picasso/,可以实现图片下载和缓存功能.仅仅只需要一行代码就能完全实现图片的异步加载:   1 Picasso.with(context).load("http://i.imgur.com/DvpvklR.png").into(imageView);   Api看起来非常独特,是吧.     Picasso不仅实现了图片异步加载的功能,还解决了android中

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

本文实例讲述了android图片类型之间相互转换实现代码.分享给大家供大家参考.具体如下: android在处理一写图片资源的时候,会进行一些类型的转换,现在有空整理一下: 1.Drawable → Bitmap Java代码如下: public static Bitmap drawableToBitmap(Drawable drawable) { Bitmap bitmap = Bitmap .createBitmap( drawable.getIntrinsicWidth(), drawab

android图片圆角、图片去色处理示例

Android中图片处理 用来对Android中的项目图片进行处理 复制代码 代码如下:package com.zhanggeng.contact.tools; import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException; import android.

python使用PythonMagick将jpg图片转换成ico图片的方法

  这篇文章主要介绍了python使用PythonMagick将jpg图片转换成ico图片的方法,涉及PythonMagick模块操作图片的技巧,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述了python使用PythonMagick将jpg图片转换成ico图片的方法.分享给大家供大家参考.具体分析如下: 这里使用到了PythonMagick模块,关于PythonMagick模块和ImageMagick的详细信息请参考:http://www.imagemagick.org/. 下面这段