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 Python时间序列如何拟合疏系数模型
  • ¥15 求学软件的前人们指明方向🥺
  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥15 MCNP里如何定义多个源?
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 STM32驱动继电器