如何在iPhone中重新塑造高质量的图像

时间:2011-07-13 11:13:05

标签: iphone objective-c cocoa-touch

我想在iPhone中创建照片库作为现有照片库。我在scrollviewer中添加图像,从图像库中选择。在添加图像之前,我调整所选图像的大小并将其设置为ImageView Control.But当我与iPhone照片库图像质量的添加图像质量相比时,我的控制图像不好。如何带来质量和内存溢出问题。

-(UIImage*)imageWithImage:(UIImage*)image scaledToSize:(CGSize)newSize
{
    // Create a bitmap context.
    UIGraphicsBeginImageContext( newSize );
    [image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
    UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return newImage;

}

2 个答案:

答案 0 :(得分:21)

我也遇到了这个问题。我认为你正在使用配备Retina Display的iPhone 4。即使你不是,你应该考虑到它。使用UIGraphicsBeginImageContext()而不是UIGraphicsBeginImageContextWithOptions(),并使用scale的{​​{1}}属性作为第三个参数。所有iOS设备都具有scale属性,在iPhone 4上它设置为2.0;其余的,正如我写的那样,它被设置为1.0。

因此,您的代码会随着这些更改而变为

UIScreen

答案 1 :(得分:0)

从ageektrapped解决方案开始,对于PNG的透明图像,您应该将

的第二个参数设置为NO / false。
UIGraphicsBeginImageContextWithOptions(..., NO, ...); 

将解决黑白背景问题