我有一个从库中获取图像的程序,但是我正在使用我在网上找到的代码来调整该图像的大小,以便它可以适合屏幕(基本上使它成为 640x960),但是它仍然太大而无法显示,所以在另一个 UIImage 中,我正在复制第一个调整大小的图像并重新调整这个大小,使其大约为屏幕的 1/4(或 160x240)。代码是这样的:
对于 ViewController.h:
UIImage *img;
UIImage *thumb;
-(UIImage*) scaleImage: (UIImage*)image toSize:(CGSize)newSize;
(这当然只是和我的问题相关的代码)
对于 ViewController.m
-(UIImage*) scaleImage: (UIImage*)image toSize:(CGSize)newSize {
UIGraphicsBeginImageContext(newSize);
[image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}
在另一个函数的同一个 m 文件中,当按下带有这些行的按钮时调用 scaleImage 函数:
[self scaleImage:img toSize:CGSizeMake(640, 960)];
thumb = img;
[self scaleImage:thumb toSize:CGSizeMake(160, 240)];
在该项目中,我以前能够成功地提供一个图像供img
使用[info objectForKey:UIImagePickerControllerOriginalImage];
,该图像是从库中选择的图像。我已经“文件拥有”了一切,所以这个函数发生了(它确实是因为我在其中创建了一个 UIAlert 并显示它,并在 scaleImage 启动时打印了一个 NSLog 并且它执行了两次),但图像是从不重新调整大小!有谁知道为什么??请让我知道,感谢任何有帮助或建议的人!