这可能是个愚蠢的问题,但我看不出这里的数学是如何运作的。我有一张图,414 w x 584小时。要将图像缩小到这个大小的一半(即初始宽度和高度的一半),使用[UIImage imageWithCGImage:scaleFactor:orientation],我必须将scaleFactor设置为6.0。
为什么是6.0?这个值与例如414/207 = 2.0的宽度标度或584/292 = 2.0的高度刻度有什么关系?
当我写这个的时候,我在想.我的应用程序运行在iPhone 6+上。那么,它是否与3x Retina显示器有关?也就是说,正常比例因子为2.0,这是无量纲的,但是当应用于6+上的图像时,要达到像素,我必须这样做3x?这就是逻辑吗?
而且,我想,当我在这里的时候,是否有更好的方法使用可用的iOS工具来调整图像的大小?例如,一些特殊的仿射变换,等等。与内存或性能无关;到1500或更高时,图像的宽度都不超过1000。
非常感谢!
发布于 2015-09-22 19:57:35
您可以在http://nshipster.com/image-resizing/上找到一个grt教程。
文件上说:
在解释图像数据时要使用的比例因子。指定比例因子为1.0的图像,其大小与图像的基于像素的尺寸相匹配。应用不同的缩放因子可以更改图像的大小,正如size属性所报告的那样。
规模:
如果从名称包括@2x修饰符的文件加载图像,则刻度设置为2.0。在从Core映像初始化图像时,还可以指定显式缩放因子。假设所有其他图像的缩放因子为1.0。 如果将图像的逻辑大小(存储在size属性中)乘以此属性中的值,则得到图像的尺寸(以像素为单位)。
尺寸:
在iOS 4.0及更高版本中,此值反映图像的逻辑大小,并以点为单位进行度量。在iOS 3.x和更早版本中,这个值总是反映以像素为单位的图像的尺寸
https://stackoverflow.com/questions/32725586
复制相似问题