`

图片的使用

阅读更多
在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);



分享到:
评论

相关推荐

    微信公众平台图片使用规范.docx

    微信公众平台图片使用规范.docx

    Ueditor1.4.3 独立上传图片使用方法

    Ueditor1.4.3 独立上传图片使用方法,自从Ueditor1升级后监听事件失效的解决办法

    C# 图片查看器 主要用于嵌入某些大工程做显示图片使用

    类似于windows 图片和传真查看器,主要用于嵌入某些大工程做显示图片使用。

    图片素材 Devexpress的使用方法

    图片素材 Devexpress的使用方法图片素材 Devexpress的使用方法图片素材 Devexpress的使用方法图片素材 Devexpress的使用方法图片素材 Devexpress的使用方法图片素材 Devexpress的使用方法

    websocket从服务端获取图片

    此外,服务端应考虑使用高效的图片编码格式,如WebP,以减少传输数据量。 总结,本示例展示了如何利用WebSocket、Java、HTML5和Tomcat8来实现实时的图片传输功能。通过理解这些技术并熟练运用,开发者可以创建出更...

    WPF设置图片Source时不占用图片的方法

    在某些时候我们使用WPF中Image控件,加载一个图之后想删除这个图片,但由于图片已经被Image占用,会提示“文件正由另一个程序使用,无法删除”之类的信息,此时可以用该方法设置Image的Source,这样图片加载后可以...

    android画廊效果,中间图片变大

    比如,中间的图片使用全尺寸布局,而其他图片则缩小比例。可以通过在`PagerAdapter`中动态设置每个页面的布局来实现。 6. **触摸事件处理**:为了响应用户的滑动操作,需要处理触摸事件。可以监听`ViewPager`的滑动...

    php 图片高斯模糊 代码 实例

    PHP图片高斯模糊,函数直接调用形式 支持png,jpg,gif,其他图片类型可以自己扩充

    VC使用滚动条显示图片

    在VC++(Visual C++)开发环境中,使用滚动条显示图片是一项常见的需求,尤其是在处理大尺寸图像时。本文将详细讲解如何实现这一功能,以及涉及的相关知识点。 首先,我们需要了解滚动条的基本概念。滚动条是...

    VFP使用表单和报表中使用图片事例

    这可以通过创建一个临时的OLE服务器进程,例如使用Microsoft Paint打开图片,然后使用VFP的OleCreate方法创建并加载该图片。加载后,可以将OLE对象保存到备注字段。 2. **使用Picture控件**:另一种方法是使用...

    Android使用Matrix矩阵类对图像进行缩放、旋转、对比度、亮度处理(原代码)

    该资源主要是结合博客...免费资源仅供大家学习参考,同时项目主要是讲述Matrix的方法,在加载大图片时可能会出现越界bug,横竖屏切换都没有考虑.希望对大家有所帮助吧!By:Eastmount

    使用poi替换word中的文字和图片实现打印

    本示例将深入探讨如何使用Apache POI库来替换Word文档中的文字和图片,并实现打印功能。 首先,确保在项目中正确导入了Apache POI相关的JAR包。通常,这包括poi-ooxml、poi-ooxml-schemas和commons-lang3等。这些库...

    python爬取百度图片

    使用任意关键字 python爬取百度图片 使用任意关键字 python爬取百度图片 使用任意关键字 python爬取百度图片 使用任意关键字 python爬取百度图片 使用任意关键字 python爬取百度图片 使用任意关键字 python爬取百度...

    ueditor(单独使用上传图片)

    虽然编辑器实例被隐藏,我们仍可以使用ueditor提供的API手动触发图片上传,例如调用`UE.Editor.prototype.execCommand('insertimage', imgUrls)`,其中`imgUrls`是图片URL的数组。 6. **安全性与权限控制**: 在...

    C# Winfrom图片剪切-拼接(多图图片拼接)

    使用鼠标裁剪后拼接的图片,是选取两个图片中的最大高度, 两个图片的平均宽度进行拼接的。 资源address:http://download.csdn.net/detail/liuqiaoying_lqy/5718733 在原有的图片裁剪、1×2拼接的基础上实现如下...

    WPF遍历循环显示本地图片

    C:\Documents and Settings\Administrator\桌面\扫描图像测试 比方说,这个路径下有10张图片,可以循环点击显示这10张图片 使用FileStream 解决文件被进程占用问题。使用一个计数变量,可以头尾循环

    CKEditor3.x配置使用教程,支持图片上传其中图片上传支持Ftp

    此文件是CKEditor3.x在的配置使用,主要是正对JAVA项目的 CKEditor本身不支持图片上传功能,此文档将描述如何配置和使用图片上传 其中图片上传支持FTP服务器功能,和压缩指定大小的功能。

    Android端使用retrofit上传多张图片,后端使用Php接收图片

    Android端使用retrofit上传多张图片,后端使用Php接收图片

    使用headless版Chrome将网页转换为图片

    使用headless版Chrome将网页转换为图片

    在VC中使用picture控件显示图片

    在VC++(Visual C++)开发环境中,使用Picture控件来显示图片是一项常见的任务,尤其在创建GUI(图形用户界面)应用时。Picture控件是一个可视化组件,它允许程序员将图像嵌入到应用程序中,为用户提供直观的视觉...

Global site tag (gtag.js) - Google Analytics