【问题标题】:Resolution for SVG to PNG image for UIButton iOSUIButton iOS的SVG到PNG图像的分辨率
【发布时间】:2017-10-02 00:59:44
【问题描述】:

我的 Swift/iOS 应用程序中有一个 UIButton,宽度为 20,高度为 20,里面有一个图像。

我有一个 SVG 图标,我想将它用于 UIButton 中的图像。当我将此 SVG 转换为 PNG 时,1x、2x 和 3x 应该是什么分辨率?

现在我正在创建一个 30x30、60x60 和 90x90 的 PNG 文件,但这主要是猜测。

我应该改用 100x100、200x200 和 300x300 的 PNG 文件吗?

这些更大的分辨率看起来会更好,但加载时间可能更长?

另外,在 UIButton 中,要设置的正确内容模式是什么?缩放填充还是纵横比填充?

【问题讨论】:

    标签: ios swift svg png


    【解决方案1】:

    您的问题的答案是“视情况而定”。假设您希望图像完全填充按钮。然后询问按钮的边界,这将是您图像的 1x 大小。 2x 和 3x 尺寸将从那里开始。

    至于内容模式,它取决于图像大小与按钮大小的关系。如果图像与按钮的大小为 1:1,则没有区别。如果图像比按钮小或大,那么上下文模式会给你不同的外观。

    我建议您创建一个包含多个按钮的测试程序。使用一些宽、短的图像和一些又高又瘦的图像。在按钮上设置这些图像并尝试不同的内容模式以查看关系如何变化。

    【讨论】:

    • 非常感谢! DPI 重要吗?我用来从 SVG 转换为 PNG 的在线转换器也允许我更改 DPI。现在它默认设置为 96 DPI。我应该改变这个吗?
    【解决方案2】:

    你应该使用你所需要的,如果你需要填充 20 点,你将有一组 20、40、60 像素。更大的图像是不必要的,看起来没什么区别,需要更多的时间来加载,更多的时间来渲染和增加应用程序的大小。

    每种内容模式都有自己的用途: Difference between UIViewContentModeScaleAspectFit and UIViewContentModeScaleToFill?

    【讨论】:

    • 非常感谢! DPI 是否重要?我用来从 SVG 转换为 PNG 的在线转换器也允许我更改 DPI。现在它默认设置为 96 DPI。我应该改变这个吗?
    • 没关系,我不认为。您想要的是与点间距无关的像素分辨率(高度和宽度)。
    猜你喜欢
    • 2015-05-18
    • 1970-01-01
    • 1970-01-01
    • 2021-01-31
    • 2013-02-06
    • 2013-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多