如何在iOS中将jpg或png转换为svg?

时间:2016-09-27 10:51:21

标签: ios objective-c svgkit

我喜欢将.jpg或.png文件转换为可在UIImageView中显示的.svg格式。有没有办法在Objective-C中做到这一点?

2 个答案:

答案 0 :(得分:5)

shouldn't在Xcode中使用SVG图像:

  

建议您为应用中的大多数图片使用PNG或JPEG文件。图像对象针对读取和显示两种格式进行了优化,这些格式提供了比大多数其他图像格式更好的性能。由于PNG格式无损,因此特别推荐用于应用界面中使用的图像。

另外,SVGKit根据许多开发人员buggythis使用它需要您自担风险。

SVG是一个基于XML的矢量,在Xcode中你也可以使用矢量但使用PDF格式并遵循enter image description here教程。

简而言之:

  1. 使用@ 1x资产生成PDF(在编译期间将生成@ 2和@ 3)
  2. 将比例因子设置为单个矢量:
  3. related

    1. 将您的PDF拖放到全部,通用部分
    2. 按名称引用您的图像,与任何PNG文件一样

      hibernate.enable_lazy_load_no_trans
    3. 此外,stackoverflow(可能)http://image.prntscr.com/image/6bea7bb438ef4678a50cec6bebc78589.png回答

答案 1 :(得分:3)

要将PNG转换为SVG(这是一个非常明智和有效的事情),您需要一个名为“tracer”的应用程序或库。它将跟踪形状,渐变等的轮廓,并将它们转换为矢量表示。

对于简单的情况,这对于计算机来说很容易;对于复杂的情况(例如渐变),这是一个非常困难的AI /计算机视觉问题,你需要在高端编码解决方案上花费$$$和/或找到解决问题的博士级研究!

一个非常出色的免费跟踪器内置于Inkscape(开源) - 谷歌“inkscape跟踪”,有关如何使用它的教程,以及生成可以使用的.svg文件。这是一个手动过程。

要在应用内使用此功能,您需要找到适用于iOS的跟踪库。 Inkscape使用的库都是开源的,所以你可以尝试将它们转换为iOS - 它们是用C语言编写的,所以它可以很容易。