我对在我的iphone应用中调整图像大小有疑问。因此,用户从图库中拍摄照片或选择一张照片,然后将该照片发送到服务器。我已经有this answer的代码来调整图片的大小:
UIImage * small=[self imageByScalingToSize:CGSizeMake(150,150) img:image];
尺寸只是一个例子。
我向服务器发送小号,但我需要考虑的事项:
所以我想做的是将图像调整为(800,600)(这部分我已经有),然后检查它是否超过150k并且如果是的话以某种方式减少它。
有没有办法计算图像的字节数,知道大小和其他一些数据? 如何以文件大小的方式实现这种尺寸减小?
答案 0 :(得分:1)
将您的UIImage转换为NSData,将用户长度转换为获取图像的字节大小。
来自apple文档:
length - 返回接收器中包含的字节数。
您可以使用
转换UIImageNSData * UIImagePNGRepresentation ( UIImage *image );
或
NSData * UIImageJPEGRepresentation ( UIImage *image, CGFloat compressionQuality );
答案 1 :(得分:1)
你是如何上传图像的?你应该只是发送字节数据,iOS不知道它是一个图像,将无法调整它的大小!你有没有看过像
这样的东西?NSData *imageData = UIImageJPEGRepresentation(myUIImage, compressionQuality);
压缩图像并调整图像大小。这将为您提供一个NSData对象,您可以对base64进行编码并将其发送到您的服务器。同样形成NSData,你将看到图像有多大以字节为单位并确定它是否足够小。
希望这会有所帮助。 :)