【问题标题】:Using vector images to scale for app platforms使用矢量图像缩放应用程序平台
【发布时间】:2012-01-10 14:23:48
【问题描述】:

应用中的图像有多种形状或大小,但为了节省空间和编辑时间,有没有办法使用可缩放的矢量图像?

理想情况下,我会有一张中等分辨率的矢量图像,然后我可以检测屏幕尺寸并根据需要缩放矢量,并使用一些自定义渐变添加背景。

我用钛做这个。

【问题讨论】:

    标签: android mobile vector titanium


    【解决方案1】:

    Titanium 尚不支持矢量图形,但可通过Shape Drawables 在本机 Android 代码中使用它。 Android SDK 有一个第三方SVG library 可用。

    对于 Titanium,根据设备屏幕尺寸 (Titanium.Platform.DisplayCaps) 对代码进行分支,并找到在设备上性能良好的图像。

    您可以使用具有透明度的 PNG 并将背景颜色应用到您的视图对象。

    【讨论】:

    • 谢谢,我认为 PNG 是前进的方向。你知道是否有办法避免需要不同屏幕尺寸的图像?没有渐变背景的 Android 很烂,但没关系
    • 另一种方法是缩放图形以适应。如果您使用 Android SDK 进行开发,您可以使用 Nine Patch Drawable,它允许您以更好的方式缩放图像。您可以使用合成(将多张图像合并为一张)图像来复制功能。
    • 钛是否支持矢量图形?现在是 2017 年。
    【解决方案2】:

    我发现了制作不同大小的可绘制对象:

    基本上只有一个在 res 文件夹中有一个名为 drawable 的文件夹。 用你使用的任何东西制作你的作品,但要让它变大(未来设备至少 1080p)。

    将图像保存为可绘制文件夹中的 PNG,但保存较大。 (IE 至少 1000x1000)

    编写一个在 PNG 中加载但对其进行缩放的函数(根据屏幕大小和您希望可绘制对象大小的百分比。因此 800 像素宽度的 20% 是 120 像素)。我已经设法用 30 行代码完成了这一点,由于我不在工作机器上,所以无法粘贴我的代码。

    对我来说,这适用于所有设备的所有应用,我还没有发生过一次崩溃(1000 次安装,包括动态壁纸)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-02
      • 2011-02-03
      • 2019-09-17
      相关资源
      最近更新 更多