我知道我可以使用“UIImagePNGRepresentation(UIImagexxx)”来获取UIImage对象的png表示。 但我不确定如何为NSImage做类似的事情。我只能找到适用于NSImage对象的TIFFRepresentation。
有什么想法吗?非常感谢
答案 0 :(得分:1)
为帮助跨平台代码,我实现了UIImagePNGRepresentation()
版本,该版本可在Mac上运行(并使用NSImage
):
#if os(macOS)
public func UIImagePNGRepresentation(_ image: NSImage) -> Data? {
guard let cgImage = image.cgImage(forProposedRect: nil, context: nil, hints: nil)
else { return nil }
let imageRep = NSBitmapImageRep(cgImage: cgImage)
imageRep.size = image.size // display size in points
return imageRep.representation(using: .png, properties: [:])
}
#endif