我希望在画布上绘制一个缩放后的位图(基于位图和视图大小)。问题在于,如果在绘制位图之前对画布进行缩放:
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);
结果要好得多: 问题是位图非常大,在内存中同时拥有原始位图和缩放位图可能会有问题。
是否有办法在位图或视图边界更改时不每次创建缩放位图而获得第二个结果?
FILTER_BITMAP_FLAG
和ANTI_ALIAS_FLAG
? - Vladimir Mironov