安卓 - 矢量图片失去了质量?

4
我有来自我的设计师的矢量图像,应该能够缩放到所有尺寸并且看起来不错(我是开发者不是设计师)。我的问题是,当我使用 Bitmap 将其添加到我的应用程序时,图像会失去质量。(M 显示出锯齿状线条) Android 是否支持矢量图像?这是因为我将它们呈现为位图吗?这到底是什么问题?

2
是的,您可以使用VectorDrawable,但它适用于API 21及以上版本。https://developer.android.com/reference/android/graphics/drawable/VectorDrawable.html - Raghunandan
看起来你的图像被缩放了。你是如何将这些图像放到屏幕上的?可以贴一些代码吗? - racs
在我的实践中,使用ConstraintLayout代替LinearLayout或FrameLayout可以消除矢量图形模糊的问题。 - Bitwise DEVS
1个回答

5
矢量图像在光栅化后无法保证清晰度。有很多原因会导致质量损失,其中主要原因是矢量文件中的点坐标。例如,您拥有一个100x100像素的矢量图像,并希望在100x100的ImageView中显示它,但矢量图像中的某些点可能具有如23.5; 67.5的坐标,这样就不会清晰,但如果您将ImageView大小增加到200x200,则实际坐标将为47; 135,因此在此情况下图像将会清晰。
此外,您可以使用SVG AndroidAndroid-SVG在Android中显示SVG图像。

好的,将大小调整为200x200到底是做什么用的?我对那部分有点困惑。 - Kyle Jensen
这些向量应该是SVG文件吗?我手头的向量是PNG格式的。我不确定这是否会影响图像,但我认为可能会有影响。 - Kyle Jensen
@KyleJensen 当我们将100x100的向量图像调整大小为200x200时,该图像中所有点的位置都将乘以2,例如我的例子中23.5; 67.5变为47; 135。关于第二个问题-是的,有许多矢量图像格式,SVG是最流行的。但PNG不是矢量格式,它是光栅图像http://en.wikipedia.org/wiki/Raster_graphics - Stepango
那么你的意思是在这种情况下PNG文件不是矢量图吗?因为我认为PNG可以是矢量图。 - Kyle Jensen
@KyleJensen 是的,你是对的,PNG文件不能是矢量的。 - Stepango

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