UIBezierPath 到 NSData 到 Server 到 Android
Posted
技术标签:
【中文标题】UIBezierPath 到 NSData 到 Server 到 Android【英文标题】:UIBezierPath to NSData to Server to Android 【发布时间】:2015-06-23 08:54:18 【问题描述】:目前我有一个符合 NSCoding 的类,其中包含 UIBezierPath 和 UIColor。
required init(coder aDecoder: NSCoder)
super.init()
self.lineColor = aDecoder.decodeObjectForKey("color") as! UIColor
self.bezierPath = aDecoder.decodeObjectForKey("bezier") as! UIBezierPath
func encodeWithCoder(aCoder: NSCoder)
aCoder.encodeObject(lineColor, forKey: "color")
aCoder.encodeObject(bezierPath, forKey: "bezier")
我通过 NSKeyedArchiver 实现了这一点
NSKeyedArchiver.archivedDataWithRootObject(path)
并将其保存在服务器上 (parse.com) 我可以在 ios 上毫无问题地解压它。但是如何兼容安卓呢?
【问题讨论】:
【参考方案1】:我同意韦恩的观点。您可以调用 self.bezierPath.CGPath 来检索 CGPath,然后您可以使用以下答案将其导入 SVG。
How to convert CGPath to SVG
然后您可以以中性格式发送它。
【讨论】:
【参考方案2】:您需要将路径和颜色转换为某种通用格式并以通用格式导出。像 SVG 之类的东西,包括 RGBA 值。 UIBezierPath
和密钥归档是具有私有二进制实现的 iOS 特定项目 - 尝试在 android 上使用它们会花费你很长时间,而且不会成为未来的证据。
【讨论】:
以上是关于UIBezierPath 到 NSData 到 Server 到 Android的主要内容,如果未能解决你的问题,请参考以下文章
在 UIImageView 上绘制 UIBezierPath