iphone图像调整大小

时间:2012-01-30 12:47:03

标签: iphone image image-size

我对在我的iphone应用中调整图像大小有疑问。因此,用户从图库中拍摄照片或选择一张照片,然后将该照片发送到服务器。我已经有this answer的代码来调整图片的大小:

UIImage * small=[self imageByScalingToSize:CGSizeMake(150,150) img:image];

尺寸只是一个例子。

我向服务器发送小号,但我需要考虑的事项:

  • 图像必须小于或等于150千字节,
  • 我已阅读here当用户通过3G发送图像时,iphone会自动将图像调整为(800,600)。

所以我想做的是将图像调整为(800,600)(这部分我已经有),然后检查它是否超过150k并且如果是的话以某种方式减少它。

有没有办法计算图像的字节数,知道大小和其他一些数据? 如何以文件大小的方式实现这种尺寸减小?

2 个答案:

答案 0 :(得分:1)

将您的UIImage转换为NSData,将用户长度转换为获取图像的字节大小。

来自apple文档:

  

length - 返回接收器中包含的字节数。

您可以使用

转换UIImage
NSData * UIImagePNGRepresentation ( UIImage *image );

NSData * UIImageJPEGRepresentation ( UIImage *image, CGFloat compressionQuality );

答案 1 :(得分:1)

你是如何上传图像的?你应该只是发送字节数据,iOS不知道它是一个图像,将无法调整它的大小!你有没有看过像

这样的东西?
NSData *imageData = UIImageJPEGRepresentation(myUIImage, compressionQuality);

压缩图像并调整图像大小。这将为您提供一个NSData对象,您可以对base64进行编码并将其发送到您的服务器。同样形成NSData,你将看到图像有多大以字节为单位并确定它是否足够小。

希望这会有所帮助。 :)