Ser*_*yov 6 iphone cocoa-touch objective-c inversion-of-control uiimage
在obj-?一个人如何获得一定的大小UIImage存储在一个自定义的NSMutableArray?这是我想要做的第一件事.第二个是,知道图像的文件大小(比如15 MB)比我自己的文件大小限制(比如它的5 MB)更大,如何压缩图像最接近文件大小限制,比如4.99 MB?
ksh*_*ara 16
我已经在stacj溢出链接的另一个问题上看到了这个 - 按大小的图像压缩 - iPhone SDK
但我确实从那里结合了两个答案,我也使用这个代码进行压缩.
CGFloat compression = 0.9f;
CGFloat maxCompression = 0.1f;
int maxFileSize = 250*1024;
NSData *imageData = UIImageJPEGRepresentation(yourImage, compression);
while ([imageData length] > maxFileSize && compression > maxCompression)
{
compression -= 0.1;
imageData = UIImageJPEGRepresentation(yourImage, compression);
}
Run Code Online (Sandbox Code Playgroud)
一种方法是在循环中重新压缩文件,直到找到所需的大小.您可以首先找到高度和宽度,并猜测压缩系数(更大的图像更多压缩)然后压缩后,检查大小,然后再次分割差异.
我知道这不是超级高效的,但我不相信有一个单一的调用来实现特定大小的图像.
| 归档时间: |
|
| 查看次数: |
6466 次 |
| 最近记录: |