粗人黄 2017-06-08 06:30 采纳率: 0%
浏览 1654

android使用Matrix进行图片旋转,空白区域如何透明

我在使用matrix对bitmap进行旋转的时候,图片到旋转成功了,但是空白区域是黑色的,要如何才能设置成透明色?
使用中发现JPG文件的图片出现以上情况,PNG旋转后空白区域是透明的。尝试在android端通过bitmap.compress将JPG转换成PNG在进行旋转,空白区域还是黑色的。
目前使用的方法是先通过decodeFromFile从文件获取bitmap,然后通过算法先计算出旋转后的图片尺寸,按新的尺寸新建一个bitmap。通过canvas绘制旋转后的图片。这样可以实现空白区域透明化,但是一旦图片尺寸过大或者旋转角度大了,就容易内存溢出!
求问该如何解决!

以下是我直接对bitmap进行matrix旋转代码
BitmapFactory.Options tempOpts = new BitmapFactory.Options();
tempOpts.inPurgeable = true;
final Bitmap bitmap = BitmapFactory.decodeStream(in, null, tempOpts);
Matrix matrix = new Matrix();
matrix.postRotate(45);
Bitmap bitmap1 = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true);

  • 写回答

2条回答 默认 最新

  • Tauren2614 2017-06-08 06:51
    关注

    加上tempOpts.inPreferredConfig = Bitmap.Config.ARGB_8888;
    试试呢

    评论

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题