【发布时间】:2013-05-12 23:13:23
【问题描述】:
我有一个从库中获取图像的程序,但我正在使用我在网上找到的代码来调整该图像的大小,以便它可以适合屏幕(基本上是 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)];
在该项目中,我之前能够使用[info objectForKey:UIImagePickerControllerOriginalImage]; 成功地为img 提供图像,这将是从库中选择的图像。我已经“文件拥有”了一切,所以这个函数发生了(它确实是因为我在其中创建了一个 UIAlert 并显示它,并在 scaleImage 启动时打印了一个 NSLog 并且它执行了两次),但图像是从不重新调整大小!有谁知道为什么??请告诉我,感谢任何提供帮助或建议的人!
【问题讨论】:
-
当我尝试将图像调整为更小的比例时,图像实际上更大。我在上面的问题中找到了您的 scaleImage 代码,并且有效。感谢您提出问题并发布您的代码。 :-)
-
感谢您发布此内容,让我觉得我的贡献比实际做的要多 =)
标签: objective-c uiimage image-resizing