UIImage调整大小 - 如何导出scaleFactor值不清楚

时间:2015-09-22 19:48:34

标签: objective-c uiimage scale

这可能是一个愚蠢的问题,但我没看到这里的数学运算方式。我有一张图像,414w x 584h。要使用[UIImage imageWithCGImage:scaleFactor:orientation]将图像缩小到此尺寸的一半(即初始宽度和高度的一半),我必须将scaleFactor设置为6.0。

为什么是6.0?该值如何与414/207 = 2.0的宽度尺度或高度尺度相同,相同值584/292 = 2.0?

当我写这篇文章时,我想知道......我的应用程序是在iPhone 6+上运行的。它可能与3x Retina显示器有关吗?即,正常比例因子为2.0,这是无量纲的,但是当应用于6+上的图像时,为了获得像素,我必须做3倍?这是逻辑吗?

而且,我想,虽然我在这里,是否有更好的方法来调整图像大小,使用可用的iOS设施?例如,一些特殊的仿射变换等?对记忆或表现没有特别关注;图像都不超过1000宽,大约1500左右。

非常感谢!

1 个答案:

答案 0 :(得分:1)

您可以在http://nshipster.com/image-resizing/

找到grt教程

文档说:

  

解释图像数据时使用的比例因子。指定比例因子为1.0会导致图像的大小与图像的基于像素的维度相匹配。应用不同的比例因子会更改size属性报告的图像大小。

对于比例:

  

如果从名称中包含@ 2x修饰符的文件加载图像,   比例设定为2.0。您还可以指定显式比例因子   从Core Graphics图像初始化图像时。所有其他   假设图像的比例因子为1.0。

     

如果乘以图像的逻辑大小(存储在大小中)   通过此属性中的值,您可以获得维度   以像素为单位的图像。

尺寸:

  

在iOS 4.0及更高版本中,此值反映了该值的逻辑大小   图像并以点为单位进行测量。在iOS 3.x及更早版本中,此值   始终反映以像素为单位测量的图像尺寸