UIBezierPath到NSData到服务器到Android

时间:2015-06-23 08:54:18

标签: android ios parsing parse-platform cross-platform

目前我有一个符合包含UIBezierPath和UIColor的NSCoding的类。

    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问题的情况下解压缩它。但是如何与Android兼容?

2 个答案:

答案 0 :(得分:1)

我同意Wain。您可以调用self.bezierPath.CGPath来检索CGPath,然后您可以使用以下答案将其转换为SVG。

How to convert CGPath to SVG

然后您可以以中性格式发送它。

答案 1 :(得分:0)

您需要将路径和颜色转换为某种通用格式,然后以通用格式导出。像SVG这样的东西,包括RGBA值。 UIBezierPath和密钥存档是具有私有二进制实现的iOS特定项目 - 尝试在Android上使用它们将花费您很长时间而不是将来的证明。