zoukankan      html  css  js  c++  java
  • Android Bitmap太大导致ImageView不显示的问题

    今天做我们的智能相冊的项目时,遇到了非常奇妙的问题,当照片太大时,导致ImageView.setImageBitmap不显示,上网上搜了非常多办法。感觉都不是那么靠谱。最后使用了简单粗暴的手段:

    //Bitmap too large to be uploaded into a texture
    Bitmap bm = BitmapFactory.decodeFile(imagePath);
    DisplayMetrics dm = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(dm);
    int screenWidth=dm.widthPixels;
    if(bm.getWidth()<=screenWidth){
        imageView.setImageBitmap(bm);
    }else{
        Bitmap bmp=Bitmap.createScaledBitmap(bm, screenWidth, bm.getHeight()*screenWidth/bm.getWidth(), true);
        imageView.setImageBitmap(bmp);
    }

    基本的思路就是把通过文件路径imagePath得到的图片Bitmap做Scale处理,可是假设Bitmap事实上没有那么大就不作处理,这里我推断Bitmap的宽比屏幕小时,就没有必要做处理了。


    以后有更好的解决的方法我会一一更新到这篇博客中。请大家拍砖~

  • 相关阅读:
    辞职信(转贴)
    去掉控件上显示聚焦框
    静态构造函数
    用Excel 公式求 金额的差额
    2020/2/6学习总结
    2020/2/3学习总结
    2020/2/7学习总结
    2020/1/31学习总结
    2020/2/5学习总结
    2020/2/4学习总结
  • 原文地址:https://www.cnblogs.com/yjbjingcha/p/7201608.html
Copyright © 2011-2022 走看看