0

在我的应用程序中,我的图像尺寸为1936*2592,大小最大为 6 MB。我需要将图像缩放到 0.25将图像调整为 478*640,然后将其上传到服务器。我在ios6中尝试了很多方法,但都失败了

imageData= UIImagePNGRepresentation(self.cl_PriviewImage);
UIImage *temp = [[UIImage alloc] initWithData: imageData];
ScaledImage = [temp resizedImage:CGSizeMake(478, 640) interpolationQuality:kCGInterpolationHigh];
ScaledData = UIImagePNGRepresentation( ScaledImage);

//self.cl_PriviewImage 是我的图像,它显示resizedImage 方法未找到。我也尝试过使用ScaleToSize方法,但它显示相同的错误

我也试过

ScaledImage = [UIImage imageWithCGImage:self.cl_PriviewImage.CGImage scale:0.25f orientation:self.cl_PriviewImage.imageOrientation];
ScaledData = UIImagePNGRepresentation(ScaledImage);

在这种情况下,没有错误,但我的目的没有实现,即上传的图像在比例/大小上没有改变。

iOS 6中还有其他方法吗?或者我在哪里错了?请给我建议。提前致谢

4

1 回答 1

0
- (UIImage*) image:(UIImage *) image scaledToSize:(CGSize)newSize;
{
    UIGraphicsBeginImageContextWithOptions(newSize, NO, 1);
    CGContextSetInterpolationQuality(UIGraphicsGetCurrentContext(), kCGInterpolationHigh);
    [image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
    UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    return newImage;
}

您也可以将此方法添加到UIImage类别中,这将是一个更好的解决方案。

于 2012-10-25T11:28:27.970 回答