我需要将图像数据上传到我的Parse.com
后端,但我发现我的图片太大了,尺寸明智。 NSHipster有一篇关于使用此代码调整图像大小的文章:
import ImageIO
if let imageSource = CGImageSourceCreateWithURL(self.URL, nil) {
let options: CFDictionary = [
kCGImageSourceThumbnailMaxPixelSize: max(size.width, size.height) / 2.0,
kCGImageSourceCreateThumbnailFromImageIfAbsent: true
]
let scaledImage = CGImageSourceCreateThumbnailAtIndex(imageSource, 0, options).flatMap { UIImage(CGImage: $0) }
}
不幸的是,这段代码不能在Swift 1.2中编译。特别是有两个问题。无法初始化CFDictionary
,并且无法识别flatMap
方法。
答案 0 :(得分:1)
答案 1 :(得分:0)
这是用于缩放参数给出的图像的Objective C代码。
-(UIImage*)imageWithImage:(UIImage*)image
scaledToSize:(CGSize)newSize;
{
UIGraphicsBeginImageContext( newSize );
[image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}