已通过Canvas绘制缩放Bitmap,如何提取该缩放后的Bitmap?
获取缩放后的Bitmap解决方案
你无法直接从已完成绘制的Canvas中提取内容,正确的做法是创建一个对应目标尺寸的空白Bitmap,将Canvas与该Bitmap绑定后执行绘制,最终这个Bitmap就是你需要的缩放结果。
具体实现步骤:
- 创建目标尺寸的空白Bitmap
// 以你需要的scalledWidth、scalledHeight作为Bitmap的宽高 val scaledBitmap = Bitmap.createBitmap(scalledWidth.toInt(), scalledHeight.toInt(), Bitmap.Config.ARGB_8888)
- 初始化绑定该Bitmap的Canvas
val canvas = Canvas(scaledBitmap)
- 执行缩放绘制操作(保留你原有的dst偏移逻辑)
val dst = RectF(5f, 0f, scalledWidth, scalledHeight) canvas.drawBitmap(bitmap40, null, dst, null)
完成后,scaledBitmap就是经过缩放处理后的Bitmap,可直接用于后续操作。
内容的提问来源于stack exchange,提问作者Anand S
相关产品推荐
相关产品推荐

