Android——BitMap的使用

来源:互联网 发布:数据库是什么意思 编辑:程序博客网 时间:2024/04/30 00:03

BitMap代表一张位图,扩展名可以是.bmp或者.dib。位图是Windows标准格式图形文

件,它将图像定义为由点(像素)组成,每个点可以由多种色彩表示,包括2、4、8、

16、24和32位色彩。例如,一幅1024×768分辨率的32位真彩图片,其所占存储字节数

为:1024×768×32/8=3072KB

位图文件图像效果好,但是非压缩格式的,需要占用较大存储空间,不利于在网络上传

送。jpg格式则恰好弥补了位图文件这个缺点。

在android系统当中,bitmap是图像处理最重要的类之一。用它可以获取图像文件信

息,进行图像剪切、旋转、缩放等操作,并可以指定格式保存图像文件。

BitMap的用法:

1、BitMap的生成与加载。

在资源res文件下的生成及加载:

BitMap bit=BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);iv.setImageBitmap(bit);

在sdcard中的图片生成BitMap:

BitMap bit=BitmapFactory.decodeFile("/mnt/sdcard/a03.jpg");iv.setImageBitmap(bit);

2、将bit转换为其他格式图片。

compress(CompressFormat format, int quality, OutputStream stream);

第一个参数是要转换的图片格式,第二个是要保存的图片质量(0-100),第三个需要

指定要保存到的路径的一个输出流。

        bit=BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);        OutputStream os=new FileOutputStream(new File("/mnt/sdcard/newbit.png"));        bit.compress(CompressFormat.PNG, 100, os);

将iclauncher转为newbit.png,百分百质量保存。

3、裁剪图片

将要裁剪的图片转为BitMap。

    BitMap bit=BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);    Bitmap newbit=Bitmap.createBitmap(bit, 200, 200, 600, 600);    //从(200.200)这个位置开始截取600*600的大小

4、所有的BitMap需要进行回收。

在Activity的ondestroy中:

protected void onDestroy() {        // TODO Auto-generated method stub        super.onDestroy();        if(bit!=null)        {            bit.recycle();        }    }
0 0
原创粉丝点击