SLaks 2013-06-28 05:45 采纳率: 0%
浏览 2488

下载缩略图然后再显示的问题

我想从 URL 上下载一个图片再放到 SD card 中,再在 imageview 中显示它的缩略图:

try {
Download(URL);  //download picture to SD card/Download
File myfile = new File(Environment.getExternalStorageDirectory() + "/Download/", filename);
Drawable photo = null; 
photo = Drawable.createFromPath(myfile.getPath());
imageview.setBackgroundDrawable(photo);
}

它显示初始化照片,但是当图像放大就会发生内存错误。所以我想显示小点的图像。那么我该如何做能生成缩略图再显示呢?或者如何让 android 系统生成缩略图?

  • 写回答

1条回答

  • 码密码密哄 2013-06-28 06:02
    关注

    网上很多,随便找个地方copy了个给你

     private Bitmap getImageThumbnail(String imagePath, int width, int height) {  
            Bitmap bitmap = null;  
            BitmapFactory.Options options = new BitmapFactory.Options();  
            options.inJustDecodeBounds = true;  
            // 获取这个图片的宽和高,注意此处的bitmap为null  
            bitmap = BitmapFactory.decodeFile(imagePath, options);  
            options.inJustDecodeBounds = false; // 设为 false  
            // 计算缩放比  
            int h = options.outHeight;  
            int w = options.outWidth;  
            int beWidth = w / width;  
            int beHeight = h / height;  
            int be = 1;  
            if (beWidth < beHeight) {  
                be = beWidth;  
            } else {  
                be = beHeight;  
            }  
            if (be <= 0) {  
                be = 1;  
            }  
            options.inSampleSize = be;  
            // 重新读入图片,读取缩放后的bitmap,注意这次要把options.inJustDecodeBounds 设为 false  
            bitmap = BitmapFactory.decodeFile(imagePath, options);  
            // 利用ThumbnailUtils来创建缩略图,这里要指定要缩放哪个Bitmap对象  
            bitmap = ThumbnailUtils.extractThumbnail(bitmap, width, height,  
                    ThumbnailUtils.OPTIONS_RECYCLE_INPUT);  
            return bitmap;  
        }  
    
    评论

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?