我现在正在为 Mac OSX 创建一个 iOS 应用程序。我有下面的代码,将图像转换为 1024 的大小,并根据图像的长宽比计算出宽度。这适用于 iOS,但显然不适用于 OSX。我不确定如何创建 NSImage 的 PNG 表示形式,也不知道应该使用什么来代替 UIGraphicsBeginImageContext
。有什么建议么?
谢谢。
var image = myImageView.image
let imageData = UIImagePNGRepresentation(image)
let imageWidth = image?.size.width
let calculationNumber:CGFloat = imageWidth! / 1024.0
let imageHeight = image?.size.height
let newImageHeight = imageHeight! / calculationNumber
UIGraphicsBeginImageContext(CGSizeMake(1024.0, newImageHeight))
image?.drawInRect(CGRectMake(0, 0, 1024.0, newImageHeight))
var resizedImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
let imageData = UIImagePNGRepresentation(resizedImage)
let theImageData:NSData = UIImagePNGRepresentation(resizedImage)
imageFile = PFFile(data: theImageData)
最佳答案
您可以使用:
let image = NSImage(size: newSize)
image.lockFocus()
//draw your stuff here
image.unlockFocus()
if let data = image?.TIFFRepresentation {
let imageRep = NSBitmapImageRep(data: data)
let imageData = imageRep?.representationUsingType(NSBitmapImageFileType.NSPNGFileType, properties: [:])
//do something with your PNG data here
}
关于ios - OSX UIGraphicsBeginImageContext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29348487/