我想绘制画布中缩放的位图(基于位图和视图大小)。问题是,如果我画的位图前缩放画布:缩放画布后位图质量丢失
canvas.scale(1.5f,1.5f);
canvas.drawBitmap(mBitmap, 0, 0, paint);
这是结果:
但如果不是缩放画布我缩放位图:
Bitmap scaled = Bitmap.createScaledBitmap(
mBitmap, bitmapWidth, bitmapHeight,
true);
canvas.drawBitmap(scaledBitmap, 0, 0, paint);
结果要好得多:
问题是位图非常大,并且在内存中原始和缩放的位图都可能有问题。
每当位图或视图边界发生变化时,是否有任何获取第二个结果而不创建缩放位图的方法?
你为'Paint'对象设置了“FILTER_BITMAP_FLAG”和“ANTI_ALIAS_FLAG”吗? –
缺少FILTER_BITMAP_FLAG是问题所在。谢谢! – Addev