2013年9月24日

摘要: Bitmap是Android系统中的图像处理的最重要类之一。用它可以获取图像文件信息,进行图像剪切、旋转、缩放等操作,并可以指定格式保存图像文件。本文从应用的角度,着重介绍怎么用Bitmap来实现这些功能。一、Bitmap的生成1.1 BitmapFactory decode出Bitmap Bitmap实现在android.graphics包中。但是Bitmap类的构造函数是私有的,外面并不能实例化,只能是通过JNI实例化。这必然是某个辅助类提供了创建Bitmap的接口,而这个类的实现通过JNI接口来实例化Bitmap的,这个类就是BitmapFactory。 图一、BitmapFactory 阅读全文
posted @ 2013-09-24 18:05 楠妮儿 阅读(678) 评论(0) 推荐(0) 编辑
摘要: 怎样获取图片的大小?0 }# S! I5 g+ W思路很简单:首先我们把这个图片转成Bitmap,然后再利用Bitmap的getWidth()和getHeight()方法就可以取到图片的宽高了。& V~" k% W8 }& PZ新问题又来了,在通过BitmapFactory.decodeFile(String path)方法将突破转成Bitmap时,遇到大一些的图片,我们经常会遇到OOM(Out Of Memory)的问题。怎么避免它呢?这就用到了我们上面提到的BitmapFactory.Options这个类。BitmapFactory.Options这个类,有一个字 阅读全文
posted @ 2013-09-24 18:03 楠妮儿 阅读(585) 评论(0) 推荐(0) 编辑
摘要: 第一:我们先看下质量压缩方法:private Bitmap compressImage(Bitmap image) {ByteArrayOutputStream baos = new ByteArrayOutputStream(); image.compress(Bitmap.CompressFormat.JPEG, 100, baos);//质量压缩方法,这里100表示不压缩,把压缩后的数据存放到baos中 int options = 100; while ( baos.toByteArray().length / 1024>100) {//循环判断如果压缩后图片是否大于100kb,大 阅读全文
posted @ 2013-09-24 18:02 楠妮儿 阅读(254) 评论(0) 推荐(0) 编辑

导航