从UIImageView获取已调整大小的图像

时间:2015-08-14 06:03:07

标签: ios swift

我需要将图像数据上传到我的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方法。

2 个答案:

答案 0 :(得分:1)

以下是调整图片大小的一些功能:

total

来自HERE

答案 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;
}