我可以將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肯定會成爲使用的工具。