【问题标题】:A SVG Image have 6 icon and need to choose one?一个 SVG 图像有 6 个图标,需要选择一个吗?
【发布时间】:2013-09-11 10:27:16
【问题描述】:

我有一个 SVG 文件格式,其中有 5-6 个图标,我需要根据要求而不是整个图像来选择图标。

您可以简单地将 .SVG 解析到您的 ImageView 或 Canvas 上,但这次我需要从中选择特定的图标。

这可能与编码有关还是我需要单独绘制所有图标?

有人建议我的方式,如何实现它?

【问题讨论】:

    标签: android svg imageview


    【解决方案1】:

    我没试过,但你可以:

    • 使用图标大小创建位图
    • 创建与此位图关联的新画布
    • 使用偏移量将您的 svg 绘制到 Canvas 中 -- 如果你的图标坐标是 (X1, Y1) -- 然后当你绘制一个元素时减去 SVG (X1, Y1)
    • 在屏幕上绘制位图。

    这是一个有点自制的解决方案......也许有一些图书馆为你做这些事情的王者。

    【讨论】:

    • 根据不同的分辨率,这样做是否正确?
    • 你的 svg 是用 px 表示的,不是吗?这与在屏幕上绘制时的问题相同,不是吗?
    • 也许解决问题的一个很好的解决方案是使用code.google.com/p/svg-android将你的svg转换为drawable
    • 这个东西我已经做过了……这次我需要选择一个特定的区域/pixel/icon。
    【解决方案2】:

    您可以在绘制之前在画布上设置剪辑和平移,以隐藏除您想要的图标之外的所有内容,但我认为最好的做法是使用单独的图像文件。

    【讨论】:

    • 好的……让我看看会发生什么。感谢您的建议
    【解决方案3】:

    你没有说你使用的是哪个 SVG 库。如果您使用的是 AndroidSVG,您可以将 <view> 元素添加到您的 SVG(每个图标一个)并使用 renderViewToPicture() 等选择要绘制的适当图标。

    【讨论】:

      猜你喜欢
      • 2015-03-28
      • 2014-07-01
      • 1970-01-01
      • 2012-02-05
      • 1970-01-01
      • 1970-01-01
      • 2020-07-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多