`
263229365
  • 浏览: 473520 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android 中的 Bitmap

 
阅读更多

 

在Android SDK中说明可以支持的图片格式如下:png , jpg , gif,和bmp。

1.Bitmap的创建

借助于BitmapFactory。
1)资源中的图片
使用BitmapFactory获取位图
Bitmap bmp = BitmapFactory.decodeResource(this.getResources(), R.drawable.testImg); 
或者是
Resources res=getResources();
//使用BitmapDrawable获取位图
//使用BitmapDrawable (InputStream is)构造一个BitmapDrawable;
        //使用BitmapDrawable类的getBitmap()获取得到位图;
// 读取InputStream并得到位图
InputStream is=res.openRawResource(R.drawable.testImg); 
BitmapDrawable bmpDraw=new BitmapDrawable(is);
Bitmap bmp=bmpDraw.getBitmap();

2)SD卡中的图片
Bitmap bmp = BitmapFactory.decodeFile("/sdcard/testBitmap/testImg.png")

2. 把 Bitmap 保存在sdcard中
File fImage = new File("/sdcard/testBitmap/testImg.png");   
fImage.createNewFile();
FileOutputStream iStream = new FileOutputStream(fImage); 
bmp.compress(CompressFormat.PNG, 100, iStream); 
iStream.close();
fImage.close();
iStream =null;
fImage =null;
//写到输出流里,就保存到文件了。

3.使用网络中的图片

//图片的链接地址   
String imgURLStr = "http://tx.bdimg.com/sys/portrait/item/990e6271796a7a6c170c.jpg";   
URL imgURL = new URL(imgURLStr);   
URLConnection conn = imgURL.openConnection();   
conn.connect();   
InputStream is = conn.getInputStream();   
BufferedInputStream bis = new BufferedInputStream(is);


//下载图片
Bitmap bmp = BitmapFactory.decodeStream(bis);

//关闭Stream
bis.close();   
is.close(); 
imgURL =null;

4.显示图片
1)转换为BitmapDrawable对象显示位图
// 转换为BitmapDrawable对象
        BitmapDrawable bmpDraw=new BitmapDrawable(bmp);
        // 显示位图
        ImageView iv2 = (ImageView)findViewById(R.id.ImageView02);
       iv2.setImageDrawable(bmpDraw);
2)使用Canvas类显示位图
canvas.drawBitmap(bmp, 0, 0, null);

5.缩放位图
1)将一个位图按照需求重画一遍,画后的位图就是我们需要的了,与位图的显示几乎一样:drawBitmap(Bitmap bitmap, Rect src, Rect

dst, Paint paint)。

2)在原有位图的基础上,缩放原位图,创建一个新的位图:CreateBitmap(Bitmap source, int x, int y, int width, int height,

Matrix m, boolean filter)

3)借助Canvas的scale(float sx, float sy) ,不过要注意此时整个画布都缩放了。

4)借助Matrix:

            Matrix matrix=new Matrix();
            matrix.postScale(0.2f, 0.2f);
            Bitmap dstbmp=Bitmap.createBitmap(bmp,0,0,bmp.getWidth(),bmp.getHeight(),matrix,true);
            canvas.drawBitmap(dstbmp, 10, 10, null); 
6.旋转位图
借助Matrix或者Canvas来实现。

            Matrix matrix=new Matrix();
            matrix.postRotate(45);
            Bitmap dstbmp=Bitmap.createBitmap(bmp,0,0,bmp.getWidth(), bmp.getHeight(),matrix,true);
            canvas.drawBitmap(dstbmp, 10, 10, null);

<!--EndFragment-->

分享到:
评论

相关推荐

    Android中Bitmap、File与Uri之间的简单记录

    感觉Uri 、File、bitmap 比较混乱,这里进行记载,方便以后查看.下面话不多说了,来一起看看详细的介绍吧 Bitmap、File与Uri 1、将一个文件路径path转换成File String path ; File file = new File&#40;path&#41; 2...

    Android中Bitmap用法实例分析

    本文实例讲述了Android中Bitmap用法。分享给大家供大家参考,具体如下: 一般在android程序中把图片文件放在res/drawable目录下就可以通过R.drawable.id来使用,但在存储卡中的图片怎样引用呢?下面通过实现这个功能...

    Android中Bitmap缓存池(基于2Q算法)

    Android中Bitmap缓存池(基于2Q算法),供大一起共同分享学习。

    Android中把bitmap存成BMP格式图片的方法

    在Android开发中,有时我们需要将Bitmap对象转换成不同的图片格式,比如BMP。BMP(Bitmap File Format)是一种常见的位图文件格式,但它并不像JPEG或PNG那样被Android SDK直接支持。本文将详细介绍如何在Android中将...

    Android中bitmap引起内存溢出的解决方案的对比分析.pdf

    Android中bitmap引起内存溢出的解决方案的对比分析.pdf

    android Bitmap用法总结

    Bitmap是Android平台中用于处理图像的核心类,它用于表示位图图像数据。下面是对Bitmap用法的详细总结: 1. **Drawable转换为Bitmap**: 当我们需要将一个Drawable对象(如从XML布局文件中加载的图像)转换为...

    Android Bitmap 处理示例

    在Android开发中,Bitmap是用于表示图像数据的核心类,它在UI显示和图像处理中扮演着重要角色。然而,由于Bitmap对象通常占用大量的内存,不当的处理可能导致内存溢出(Out Of Memory)问题,因此对Bitmap进行高效...

    android中对Bitmap图片设置任意角为圆角

    在Android开发中,Bitmap是用于表示图像数据的基本对象,它是一种内存中的图片表示形式。而当我们需要在应用程序中展示带有圆角的图片时,通常会用到Bitmap的处理技巧。本篇文章将深入探讨如何在Android中对Bitmap...

    安卓Android源码——(Bitmap位图渲染与操作).zip

    这份"安卓Android源码——(Bitmap位图渲染与操作)"的资料,很可能是深入讲解如何在Android系统中有效地管理和操作位图资源的教程或示例代码集合。 1. **Bitmap基本概念**: Bitmap对象是Android中的一个核心类,它...

    Android图片Bitmap和字符串String之间的相互转换

    在Android开发中,处理图像数据是一项常见的任务,而Bitmap和String是两个核心的数据类型,分别代表位图图像和文本字符串。Bitmap对象用于存储和显示图像,而String则常用于保存和传输文本信息。本篇文章将深入探讨...

    Android下利用Bitmap切割图片

    以下是一个简单的示例,展示如何从Bitmap中裁剪出指定大小和位置的子Bitmap: ```java // 原始Bitmap Bitmap originalBitmap = ...; // 裁剪的起始坐标(x, y) int left = 100; int top = 50; // 裁剪的宽度和...

    android数据Bitmap数据的过程

    ### Android中Bitmap数据存储与读取过程详解 #### 一、引言 在Android开发过程中,经常需要处理图片数据,而`Bitmap`类是用于在内存中存储位图的重要类。有时为了应用的需求,我们需要将这些`Bitmap`数据持久化到...

    Android中将Bitmap转换成单色的Bmp图片

    Android不支持将Bitmap转换成单色的Bmp图片,所以参考Bmp格式说明,自己写了一个转换类。亲测有效!!!

    Android canvas drawBitmap方法详解及实例

    2. **Rect src**: 源矩形,用于指定Bitmap中要绘制的子区域。这个矩形的坐标是相对于Bitmap本身的,(0, 0)是Bitmap的左上角,(width, height)是Bitmap的右下角。如果设置为null或不指定,那么默认绘制整个Bitmap。 ...

    Bitmap图像转换为H264

    Bitmap图像转换为H264是一项在数字视频处理和多媒体应用中常见的技术。Bitmap(BMP)是一种无损的图像文件格式,它以原始的像素数据存储图像,占用的存储空间较大,不适合在网络传输和存储中使用。而H264(也称为AVC...

    android中Bitmap的放大和缩小实例代码

    在Android开发中,Bitmap是用于处理图像的基本类,它提供了对像素级别的操作。有时,我们需要根据需求调整Bitmap的大小,例如放大或缩小图片。这里我们将深入探讨如何在Android中实现Bitmap的放大和缩小,以及相关的...

    Android Bitmap.getPixels的正确理解演示源码

    Android Bitmap.getPixels的正确理解演示源码,参考文章《Android Bitmap入门:getPixels的正确理解》

    Android 实现把bitmap图片的某一部分的颜色改成其他颜色

    在 Android 中,我们可以使用 Bitmap 类来处理 bitmap 图片,该类提供了多种方法来处理 bitmap 图片,例如 getPixels() 方法可以获取 bitmap 图片的像素颜色值,setPixels() 方法可以设置 bitmap 图片的像素颜色值。...

    Android Drawable Bitmap 相互转换

    在Android开发中,Drawable和Bitmap是两种常用的图像资源类型,它们各有特点且在不同场景下有不同的优势。了解和掌握它们之间的相互转换对于优化性能和提高用户体验至关重要。本篇将详细介绍如何在Android中进行...

Global site tag (gtag.js) - Google Analytics