android三种载入图片方式
2012-07-07 10:10
232 查看
package com.example.aa; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.BitmapFactory.Options; import android.util.FloatMath; /** * 载入图片的方法 * * @author Administrator * */ public class CompressPicture { // 直接载入图片 public static Bitmap getBitmap(String path) { Bitmap bt = BitmapFactory.decodeFile(path); return bt; } // 指定大小載入圖片 public static Bitmap getBitmap(String path, int size) { Options op = new Options(); op.inSampleSize = size; Bitmap bt = BitmapFactory.decodeFile(path, op); return bt; } // 按寬高壓縮載入圖片 public static Bitmap getBitmap(String path, int width, int heigh) { Options op = new Options(); op.inJustDecodeBounds = true; Bitmap bt = BitmapFactory.decodeFile(path, op); int xScale = op.outWidth / width; int yScale = op.outHeight / heigh; op.inSampleSize = xScale > yScale ? xScale : yScale; op.inJustDecodeBounds = false; bt = BitmapFactory.decodeFile(path, op); return bt; } // 按寬高壓縮載入圖片方法2 public static Bitmap getBitmap2(String imageFilePath, int displayWidth, int displayHeight) { BitmapFactory.Options bitmapOptions = new BitmapFactory.Options(); bitmapOptions.inJustDecodeBounds = true; Bitmap bmp = BitmapFactory.decodeFile(imageFilePath, bitmapOptions); // 编码后bitmap的宽高,bitmap除以屏幕宽度得到压缩比 int widthRatio = (int) FloatMath.ceil(bitmapOptions.outWidth / (float) displayWidth); int heightRatio = (int) FloatMath.ceil(bitmapOptions.outHeight / (float) displayHeight); if (widthRatio > 1 && heightRatio > 1) { if (widthRatio > heightRatio) { // 压缩到原来的(1/widthRatios) bitmapOptions.inSampleSize = widthRatio; } else { bitmapOptions.inSampleSize = heightRatio; } } bitmapOptions.inJustDecodeBounds = false; bmp = BitmapFactory.decodeFile(imageFilePath, bitmapOptions); return bmp; } }
相关文章推荐
- android通过Bitmap载入三种图片方式
- android三种载入图片方式
- Android实现加载(loading)图片旋转的三种方式
- android:scaleType="matrix"布局文件载入图片时候的显示方式
- Android三种基本的加载网络图片方式
- android图片压缩的三种方式
- Android 使用三种方式缓存加载 倒影图片
- Android三种基本的加载网络图片方式
- android 加载图片的三种方式
- Android 音视频开发(一) : 通过三种方式绘制图片
- android获得图片资源的三种方式
- Android开发之--图片压缩的三种方式
- Android获得图片资源的三种方式
- Android三种基本的加载网络图片方式
- Android之Volley框架加载网络图片的三种方式
- Android ListView异步载入图片乱序问题,原因分析及解决方式
- Android三种基本的加载网络图片方式
- ProgressBar 自动旋转的图片、进度条 利用android:indeterminateDrawable来实现ProgressBar三种方式
- android获得图片资源的三种方式
- Android图片压缩的三种方式