Android矢量图在缩放时出现锯齿现象

7
我正在尝试创建一个可缩放的ImageView,可以显示矢量图像(SVG转换为Vector Drawable),在缩放时不会失去其清晰度。
我已经使用了多种缩放方法,如thisthis来处理缩放、捏合和拖动。如下图所示,这导致在尝试缩放时出现模糊的混乱。
this article中我了解到,这些方法不起作用,因为矢量被绘制为位图,因此在缩放时会变得像素化。
是否有任何解决方法可以重新绘制每个缩放步骤的矢量? 还是应该尝试在显示之前以更大的尺寸绘制矢量?
感谢您的帮助。

blurry when zooming in

重新缩放?绘制更大的画布,然后缩放?
1个回答

4

这是为了节省内存而发生的。

解决方案:

您应该进行逐级缩放,即在各阶段上缩放。

例如:缩放到300%后,从仅包含所需矩形的向量中创建新的位图,然后开始缩放新图像(见下面的GIF

enter image description here

编写代码需要一些时间,但我建议使用subsampling-scale-image-view库 作为接口执行此操作。您可以通过少量更改来进行矢量缩放。


1
谢谢你的建议!我已经查看了该库,但卡在了如何将其修改为使用向量上,您能详细说明一下吗?无论如何还是谢谢您的建议! - Alvaro Garcia
1
请查看这个答案 https://dev59.com/jn7aa4cB1Zd3GeqPkgP_ - user16930239

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接