Jas*_*ady 11 uiimage nsdata ios swift3 ios10
所以以前,在Swift 2.2中我可以使用 Entity.image = UIImagePNGRepresentation(UIImage(named: "Image Name")!)
但现在在Swift 3.0中,似乎我们现在必须使用额外的步骤.Entity.image = NSData(data: UIImagePNGRepresentation(UIImage(named: "Image Name")!))或者相当于的对象UIImage(name: "Image Name")
是否有雨燕3.0一种新的方式,从去UIImage到NSData?
Qua*_* Hà 33
试试这个:
if let img = UIImage(named: "hallo.png") {
let data = UIImagePNGRepresentation(img) as NSData?
}
Run Code Online (Sandbox Code Playgroud)
为了安全执行代码,使用带有Data的if-let块,因为函数UIImagePNGRepresentation返回,可选值.
if let img = UIImage(named: "Hello.png") {
if let data:Data = UIImagePNGRepresentation(img) {
// Handle operations with data here...
}
}
Run Code Online (Sandbox Code Playgroud)
注意:数据是Swift 3类.在Swift 3中使用Data而不是NSData
通用图像操作(如png和jpg):
if let img = UIImage(named: "Hello.png") {
if let data:Data = UIImagePNGRepresentation(img) {
handleOperationWithData(data: data)
} else if let data:Data = UIImageJPEGRepresentation(img, 1.0) {
handleOperationWithData(data: data)
}
}
*******
func handleOperationWithData(data: Data) {
// Handle operations with data here...
}
Run Code Online (Sandbox Code Playgroud)
通过使用扩展名:
extension UIImage {
var pngRepresentationData: Data? {
return UIImagePNGRepresentation(self)
}
var jpegRepresentationData: Data? {
return UIImageJPEGRepresentation(self, 1.0)
}
}
*******
if let img = UIImage(named: "Hello.png") {
if let data = img.pngRepresentationData {
handleOperationWithData(data: data)
} else if let data = img.jpegRepresentationData {
handleOperationWithData(data: data)
}
}
*******
func handleOperationWithData(data: Data) {
// Handle operations with data here...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26089 次 |
| 最近记录: |