在这里,我们将给大家分享关于SwiftPNG图片保存方向错误的知识,让您更了解png无法保存的本质,同时也会涉及到如何更有效地AcerSwift3笔记本怎么样AcerSwift3笔记本上手图赏、Chr
在这里,我们将给大家分享关于Swift PNG图片保存方向错误的知识,让您更了解png无法保存的本质,同时也会涉及到如何更有效地Acer Swift 3笔记本怎么样 Acer Swift 3笔记本上手图赏、Chris Lattner 对 Swift 3 的总结与对 Swift 4 的展望、Emoji 上的 Swift:换一种视角来理解 Swift 高阶函数、ios – Swift 3发布后,Swift 2应用程序是否可以运行?的内容。
本文目录一览:- Swift PNG图片保存方向错误(png无法保存)
- Acer Swift 3笔记本怎么样 Acer Swift 3笔记本上手图赏
- Chris Lattner 对 Swift 3 的总结与对 Swift 4 的展望
- Emoji 上的 Swift:换一种视角来理解 Swift 高阶函数
- ios – Swift 3发布后,Swift 2应用程序是否可以运行?
Swift PNG图片保存方向错误(png无法保存)
如果在保存之前使用图像,那是正常的。但是,如果我保存并以后使用,则需要旋转90度。我如何确保它不会横向保存?
func saveEvent(_ center1: CLLocation, title2: String, imagePicked1: UIImage) { let data = UIImagePNGRepresentation(imagePicked1);/// let url = NSURL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent(NSUUID().uuidString+".dat") do { try data!.write(to: url!, options: []) } catch let e as NSError { print("Error! \(e)"); return } let image11 = CKAsset(fileURL: url!) self.eventRecord.setObject(image11 as CKAsset, forKey: "Picture") let publicData = CKContainer.default().publicCloudDatabase publicData.save(self.eventRecord, completionHandler: { record, error in if error == nil { print("Image saved") }else{ print(error!) } }) }
答案1
小编典典如果需要以正确的旋转方式保存PNG,则如果方向不正确,则需要重新绘制图像.up
。您可以按以下方式重绘它:
extension UIImage { func png(isOpaque: Bool = true) -> Data? { flattened(isOpaque: isOpaque)?.pngData() } func flattened(isOpaque: Bool = true) -> UIImage? { if imageOrientation == .up { return self } UIGraphicsBeginImageContextWithOptions(size, isOpaque, scale) defer { UIGraphicsEndImageContext() } draw(in: CGRect(origin: .zero, size: size)) return UIGraphicsGetImageFromCurrentImageContext() }}
编辑/更新:
对于iOS10 + tvOS10 +,您可以使用UIGraphicsImageRenderer
:
extension UIImage { func png(isOpaque: Bool = true) -> Data? { flattened(isOpaque: isOpaque).pngData() } func flattened(isOpaque: Bool = true) -> UIImage { if imageOrientation == .up { return self } let format = imageRendererFormat format.opaque = isOpaque return UIGraphicsImageRenderer(size: size, format: format).image { _ in draw(at: .zero) } }}
游乐场测试:
不透明图像的用法:
let image = UIImage(data: try! Data(contentsOf: URL(string: "https://i.stack.imgur.com/varL9.jpg")!))!if let data = image.png() { let imageFromPNGData = UIImage(data: data)}
具有透明度:
if let data = image.png(isOpaque: false) { let imageFromPNGData = UIImage(data: data)}
Acer Swift 3笔记本怎么样 Acer Swift 3笔记本上手图赏
Acer Swift 3是宏碁推出的笔记本电脑,具有轻薄时尚等元素,这里为大家带来 Acer Swift 3笔记本上手图赏 ,一起来看看。
14英寸1920*1080的显示屏幕、2.5GHz的英特尔酷睿酷睿i3、i5-7200u/i7处理器、图形128mb英特尔高清显卡620、8GB/256GB的SSD、Windows Hello、指纹识别器,处理速度快可媲美MacBook,售价仅为1398美元(约£1090/1760美元),性价比方面还是不错的。
以上就是 Acer Swift 3笔记本上手图赏 相关内容,希望对你有帮助。
Chris Lattner 对 Swift 3 的总结与对 Swift 4 的展望
总结
以上是小编为你收集整理的Chris Lattner 对 Swift 3 的总结与对 Swift 4 的展望全部内容。
如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。
Emoji 上的 Swift:换一种视角来理解 Swift 高阶函数
总结
以上是小编为你收集整理的Emoji 上的 Swift:换一种视角来理解 Swift 高阶函数全部内容。
如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。
ios – Swift 3发布后,Swift 2应用程序是否可以运行?
解决方法
>当Swift 3推出时,您的应用程序是否会在新操作系统上执行?
>推出时,您的应用会在新操作系统上运行吗?
关于第一个问题,是的,你的应用程序将执行,即使它是针对Swift 2编译的.Swift应用程序在其捆绑包中嵌入了Swift运行时库,因此您在这方面是安全的.您会注意到Swift捆绑包总是比Objective-C对应物大4-5 MB,这正是原因所在.
关于第二个问题,与任何新的操作系统版本一样,无法保证您的应用程序能够像以前版本的操作系统那样工作.虽然根据我的经验,Apple在过去的几个OS版本中做了相当不错的工作,尽管你的里程可能会有所不同.
今天关于Swift PNG图片保存方向错误和png无法保存的讲解已经结束,谢谢您的阅读,如果想了解更多关于Acer Swift 3笔记本怎么样 Acer Swift 3笔记本上手图赏、Chris Lattner 对 Swift 3 的总结与对 Swift 4 的展望、Emoji 上的 Swift:换一种视角来理解 Swift 高阶函数、ios – Swift 3发布后,Swift 2应用程序是否可以运行?的相关知识,请在本站搜索。
本文标签: