Bitmap too large to be uploaded into a texture问题的解决方法

当加载的图片过大时,通常采用的方法是直接按照图片的比例压缩图片,显示出来

避免因为图片的过大而造成Oout of Menmery,具体方法这里看

http://blog.csdn.net/siyehuazhilian/article/details/16965689


但是当图片的宽高比例差距非常大的时候,即长图.

用上述的方法会造成短的一边的像素严重丢失以至于模糊不清

可以在ImageView的属性中设置:

android:maxHeight="1000dip"

android:maxWidth="1000dip"

在图片过大的时候ImagLoder会自动处理图片避免OOM

但是仅仅这样,图片有可能会显示不出来,看Log日志:

 Bitmap too large to be uploaded into a texture的意思是图片超过了硬件加速所规定的高度

这个时候我们只需要禁止硬件加速即可

android:hardwareAccelerated="false"

事实上,这是一个简单有效的方法

但是这个方法最好在这个Activity比较少用到的时候使用,因为禁止硬件加速总归不是什么好事

还有一个方法是:

重写ImagView的下列两个方法,可以分步显示长图

http://developer.android.com/reference/android/graphics/BitmapRegionDecoder.html

1 public void drawBitmap (Bitmap bitmap, Rect src, RectF dst, Paint paint)
2  
3 public Bitmap decodeRegion (Rect rect, BitmapFactory.Options options)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
这个异常通常是由于插入的图片格式不被Excel支持而引起的。在Excel中,只支持插入BMP、JPG、PNG、GIF等格式的图片,如果插入的图片格式不是这些格式,就会出现这个异常。 如果出现这个异常,你可以尝试使用Pillow库将图片转换为BMP、JPG、PNG、GIF等格式,然后再插入到Excel中。 下面是一个将图片转换为BMP格式并插入到Excel中的示例代码: ```python import xlwt import os from PIL import Image # 创建一个Workbook对象,用于保存Excel文件 workbook = xlwt.Workbook() # 创建一个Worksheet对象,用于保存Excel文件中的一个工作表 worksheet = workbook.add_sheet('Sheet1') # 打开图片文件 image_file = 'example.jpg' with Image.open(image_file) as img: # 将图片转换为BMP格式 bmp_file = 'example.bmp' img.convert('RGB').save(bmp_file) # 将BMP图片插入到Excel中 worksheet.insert_bitmap(bmp_file, 0, 0) # 保存Excel文件 workbook.save('example.xls') # 删除临时生成的BMP图片文件 os.remove(bmp_file) ``` 在代码中,我们首先使用Pillow库打开图片文件,然后将图片转换为BMP格式,并将BMP图片插入到Excel中。最后,保存Excel文件并删除临时生成的BMP图片文件。 如果你想要插入JPG、PNG、GIF等格式的图片,只需要将图片转换为对应的格式即可。例如,将图片转换为JPG格式的代码如下: ```python img.convert('RGB').save(jpg_file, 'JPEG') ``` 这里的`jpg_file`是你要保存的JPG文件名。保存JPG文件时,需要指定`format`参数为`JPEG`。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值