我有一个UIImage,来自任一设备的相机或从URL下载。说分辨率是800x600。
我想在UIImageView中显示200x150的缩放图像,并且我有一个合适的图像缩放代码。
所以,我只是将UIImage缩放到UIImageView的frame.size
(再次,200x150)。在非视网膜显示器上它看起来没问题,但在视网膜显示器上看起来很糟糕,就像放大一张较小的图片一样,因为实际的像素框架是400x300。
问题是 - 当我调整大小时,我应该手动将frame.size.width
/ height
乘以2,当它是视网膜显示时,所以它会被调整为400x300,或者是内置的这个功能?
由于UIImage不是设备上的资源,因此我没有@2x
选项。
答案 0 :(得分:5)
在所有情况下,将图像视图的帧大小保持在200x150。
在非视网膜显示器的情况下,将图像缩放到200x150。在视网膜显示设备上将其缩放到400x300。将contentMode
的{{1}}设置为UIImageView
。
答案 1 :(得分:0)
当你得到800x600的图像时,你不能制作一个缩放到400x300的UIImage,并用@ 2x扩展名暂时保存它,可能是Documents文件夹或tmp文件夹,然后保存另一个缩放到的UIImage 200x150并保存在没有@ 2x的同一目录中。