我有一个应用程序,我在一个小空间显示大图像.图像非常大,但我只在100x100像素的帧中显示它们.我的应用程序响应缓慢,因为我正在使用的图像的大小.
为了提高性能,如何使用Objective-C以编程方式调整图像大小?
我期待缩减一个UIImage
在iOS
.
我已经看到了下面的其他问题以及他们如何按尺寸缩小图像的方法.
调整图像大小Objective-C
如何在iphone中以objective-c编程调整图像
大小调整UIImage大小的最简单方法?
这些问题都是基于将图像重新调整为特定大小.在我的情况下,我希望根据最大尺寸重新调整/缩小图像.
例如,我想将最大NSData
大小设置为500 KB.我知道我可以像这样得到图像的大小://检查返回图像的大小
NSData *imageData = UIImageJPEGRepresentation(image, 0.5);
// Log out the image size
NSLog(@"%lu KB",(imageData.length/1024));
Run Code Online (Sandbox Code Playgroud)
我想做的是这里的某种形式的循环.如果尺寸大于我设置的最大尺寸,我想稍微缩小图像,然后检查尺寸.如果尺寸仍然太大,则再次缩小,然后再次检查,直到它低于最大设定尺寸.
我不确定最好的办法是什么.理想情况下,我不希望始终将图像缩小到特定大小,但每次只能略微缩小图像.这样我可以拥有最大的(大小w/h)图像本身和最大尺寸(字节).如果我一次只略微缩小,那么最好的方法是什么呢?
编辑
要确认,我希望重新调整实际图像的大小,但重新调整图像的大小,使其小于最大NSData
长度.例如: -
检查NSData
长度
-If高于我想要将UIImage传递给方法
的最大值 - 然后
循环通过此方法每次稍微调整实际图像大小
-Until它在最大NSData
长度以下,然后返回图像?