【问题标题】:resizing an uiimage before writing it to documents directory在将 uiimage 写入文档目录之前调整其大小
【发布时间】:2012-01-30 22:35:40
【问题描述】:

我有一个问题。当我使用相机拍摄图像并使用 uiimagepickercontroller 从照片库中选择图像时,我需要调整图像大小,然后将调整大小的图像写入文档目录。所以请帮我提供一些关于如何调整 uiimage 大小的参考。

【问题讨论】:

    标签: objective-c xcode uiimage uiimagepickercontroller


    【解决方案1】:

    使用以下内容:

    UIGraphicsBeginImageContext(newSize);
    [image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();    
    UIGraphicsEndImageContext();
    NSString *path = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:@"resizedImage.jpg"];
    [UIImageJPGRepresentation(newImage, 1.0) writeToFile:path atomically:YES];
    

    【讨论】:

    • 感谢您的回复。但是什么是newsize?什么是newsize.width 和newsize.height?你能不能给我一些更多的细节。
    • newSize 是一个 CGSize 例如CGSize newSize = CGSizeMake(20, 10);,其中宽度为 20 像素,高度为 10 像素。将 newSize 设置为您希望图像的大小。
    • 这里的图片是什么?这是我的实际图像名称吗?未调整大小的图像对吗?
    • 是的,image 是全尺寸图片。
    • 非常感谢,这对我帮助很大。我能够解决这个问题。
    【解决方案2】:

    您可以使用 Trevor 的库来获得更多效果,而不仅仅是调整大小 - Resize Image the Right Way

    【讨论】:

    • 谢谢你的回复,我能过来了。
    • 不客气。顺便说一下,来自这个 http 链接的库的图像操作比使用 UIGraphics*ImageContext 快得多,因此您可以节省设备的电池电量。也在 iOS 5 上测试过。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-30
    • 1970-01-01
    • 1970-01-01
    • 2012-02-04
    • 1970-01-01
    • 1970-01-01
    • 2021-05-15
    相关资源
    最近更新 更多