我可以将CGPathRef的字节写入磁盘,然后再读回来吗? 有没有简单的方法来存储SVG风格的路径到磁盘?如何将复杂的CGPath或矢量图像写入磁盘?
我有一个非常复杂的SVG文件(〜500K),我想转换成二进制格式,以便在iPhone上进行最简单的存储和加载。查看svg文件,只有线和贝塞尔曲线全部映射到核心图形路径基元。
太感谢你了,
卡尔Ç-M
我可以将CGPathRef的字节写入磁盘,然后再读回来吗? 有没有简单的方法来存储SVG风格的路径到磁盘?如何将复杂的CGPath或矢量图像写入磁盘?
我有一个非常复杂的SVG文件(〜500K),我想转换成二进制格式,以便在iPhone上进行最简单的存储和加载。查看svg文件,只有线和贝塞尔曲线全部映射到核心图形路径基元。
太感谢你了,
卡尔Ç-M
CGPathApply
要求一个CGPathRef
的每一个控制点的回调。
您可以使用它将控制点写入磁盘。
CGPathElement看起来像这样:
struct CGPathElement {
CGPathElementType type;
CGPoint * points;
};
其中元素类型是一个int,并根据类型有2至6个浮动。
所以这可以被序列化到以下
int;float;float;int;float;float;float;float;float;float;
所以我看的第一个字节,决定的类型,获得下一N * 4个字节取决于类型,并将其添加到我的路。
我真的只需要从二进制格式转换到路径,但是如果我需要转换回来,Rhythmic Fistman的CGPathApply肯定会成为使用的工具。