gpt4 book ai didi

java - 缩放 Canvas 后位图质量丢失

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:04:28 25 4
gpt4 key购买 nike

我想绘制在 Canvas 中缩放的位图(基于位图和 View 大小)。问题是,如果我在绘制位图之前缩放 Canvas :

 canvas.scale(1.5f,1.5f);
canvas.drawBitmap(mBitmap, 0, 0, paint);

这是结果:

aliased image

但是如果我不缩放 Canvas 而是缩放位图:

Bitmap scaled = Bitmap.createScaledBitmap(
mBitmap, bitmapWidth, bitmapHeight,
true);
canvas.drawBitmap(scaledBitmap, 0, 0, paint);

结果好多了: Correctly scaled image

问题是位图非常大,在内存中同时拥有原始位图和缩放后的位图可能会有问题。

有没有办法在每次 Bitmap 或 View 边界发生变化时都创建一个缩放的 Bitmap 来获得第二个结果?

最佳答案

在绘制到 Canvas 时使用包含缩放信息的矩阵

canvas.drawBitmap(x,y,..., matrix...)

关于java - 缩放 Canvas 后位图质量丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14252794/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com