0

可能重复:
使用 iPhone SDK 调整/优化图像大小的最简单方法是什么?

我想将从相机拍摄的图像分辨率更改为 320x320。谁能告诉我该怎么做。

我知道如何从相机拍摄图像。所以请告诉我剩下的(即)改变图像的分辨率。

提前致谢

4

2 回答 2

2

这在这篇文章中被称为:https ://stackoverflow.com/a/613380/1648976

+ (UIImage*)imageWithImage:(UIImage*)image 
           scaledToSize:(CGSize)newSize;
{
UIGraphicsBeginImageContext( newSize );
[image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

return newImage;
}

就图像的存储而言,iPhone 使用最快的图像格式是 PNG,因为它对该格式进行了优化。但是,如果您想将这些图像存储为 JPEG,您可以使用 UIImage 并执行以下操作:

  NSData *dataForJPEGFile = UIImageJPEGRepresentation(theImage, 0.6);

这将创建一个 NSData 实例,其中包含质量设置为 60% 的 JPEG 图像的原始字节。然后可以将该 NSData 实例的内容写入磁盘或缓存在内存中。

这会进行转换,而不是完全转换为 320*320.. 但您可以将 0.6 调整为更低或更高。

如果这不是您想要的,请更准确地告诉我

于 2012-11-06T09:00:10.523 回答
0

1) 对原始图像进行低通滤波和
2) 抽取或
3) 重新采样

如果原始尺寸为 640x320,则进行 LP 过滤然后选择每隔一个样本就足够了。那是抽取。

如果原始尺寸是例如 480x320,那么仍然必须为那些与原始像素不完全对齐的像素进行 LP 过滤和内插像素值。

LP 过滤至关重要,因为没有它,例如非常高分辨率的棋盘图案将被重新采样为噪声或奇怪的图案,这是由称为“频率混叠”的效果引起的。

于 2012-11-06T09:00:54.627 回答