我想繪製畫布中縮放的位圖(基於位圖和視圖大小)。問題是,如果我畫的位圖前縮放畫布:縮放畫布後位圖質量丟失
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