【问题标题】:How can I generate iOS code to draw an image?如何生成 iOS 代码来绘制图像?
【发布时间】:2013-09-26 07:42:37
【问题描述】:

如何使用图形然后生成可以绘制它的 Objective-C 代码?代码生成不需要用objective-c编写,但必须生成objective-c代码。

输入:A.png

输出:生成与原始文件 A.png 的图像匹配的文件 A.png 的核心图形代码。

例如,既然我可以找出每个像素的颜色和位置,我可以使用什么工具来编写能够准确绘制这些像素的 iOS 代码。

当应用本身可以使用正确的指令生成这些图像时,为什么要使用图像来扩大捆绑包的大小,或者为什么要等待从 Web 服务中提取图像。

我的意图是在白标解决方案中使用它。

【问题讨论】:

  • 地球上的代码没有办法逐个像素地写出一个比上述 PNG 更小的 PNG,无论是否编译。 PNG 是一种图像压缩格式,它是一种专门设计的软件,它使用尽可能少的数据来表示图像的逐像素描述。
  • 矢量图像也是如此——我的直觉是压缩的 SVG,或者更好的是 PDF 会比绘制它的 ObjC 代码更紧凑。
  • 据我所知,iOS 7 仍然不显示 svg,除非在 Web 视图中,所以我认为拥有 svg -> 图形层代码转换器的价值。
  • iOS 可以原生显示 PDF——您也可以压缩文件(假设它尚未在内部使用压缩)

标签: ios image cocoa-touch compression core-graphics


【解决方案1】:

使用PaintCode 创建您的图形。 你已经完成了。

【讨论】:

  • PaintCode 可以将 png 作为输入吗?
  • @kraftydevil - 我到他们网站的链接不够吗?
  • 几乎 - 我正在寻找的特定用例是导入 PNG,然后生成代码来复制它。如果 Paintcode 可以做到这一点或非常类似的事情(对于我作为图形新手来说很难说),请说明这一点,并可能展示如何做到这一点。
【解决方案2】:

当应用本身可以使用正确的指令生成这些图像时,为什么要使用图像来扩大捆绑包的大小,或者为什么要等待从 Web 服务中提取图像

因为您的代码仍然需要包含图像中包含的所有信息,以及所有这些绘图说明,所以您最终会得到一个更大的产品,而不是更小的产品。此外,将图像数据构建到代码中使其更难更改。

【讨论】:

  • 好吧,如果图像具有一定的对称性,那么通过代码生成它是可行的。演示编码员一直在这样做。例如。 .kkrieger 第一人称射击游戏 (en.wikipedia.org/wiki/.kkrieger) 仅占用 96 KB 的磁盘空间,尽管使用了相当丰富的纹理和凹凸贴图。
  • @TamásZahola 确实如此,但在我看来,OP 是在谈论生成代码以绘制任意图像,而不是生成参数图像。考虑一下:我可以找出每个像素的颜色和位置,我可以使用什么工具来编写精确绘制这些像素的 iOS 代码。
猜你喜欢
  • 1970-01-01
  • 2020-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多