2012-12-03 33 views
0

当我使用drawInRect方法绘制大尺寸图像(比如说1000x1000像素),尺寸为200x200像素,并且我再次使用drawInRect方法将图像绘制为其原始尺寸(1000x1000像素)时,分辨率是否会影响?通过将大图像绘制成小图像并再次将相同图像绘制成大图像,分辨率是否会降低?drawInRect在缩小图像时会失去分辨率?

+0

您是否使用相同的UIImage绘制两者?或者使用从200x200上下文绘制的图像绘制新的1000x1000上下文? – borrrden

+0

我使用从200x200上下文绘制的图像绘制新的1000x1000上下文。 –

回答

1

希望我已经把你的问题在我的脑海中纠正了。

如果您拍摄的图像大于200x200像素并将其绘制到200x200像素的矩形中,则会缩小并丢失大部分细节。如果你接下来得到的图像,并尝试绘制在一个更大的矩形,它会被放大。所以,要回答你的问题,是的。它会像地狱一样模糊。这与在图形编辑器中调整图像大小然后将其恢复原始大小无异。细节的丧失是永久的;没有办法知道在转换过程中失去了什么。

+0

你可以建议正确的方式来缩放图像。 –

+1

你有原始图像吗?用这个画一个小图,然后当你需要再画一个大图时,也可以使用原图。当然,您可以将图像始终存储在UIImageView中并将其放入滚动视图中;内容本身在放大和缩小时不会更改。无论哪种方式,您都需要将原件保存在内存中。一旦缩小并且原始消失,没有办法恢复丢失的细节。一旦它被细化到更少的细节中,任何派生的细节都将比原始细节更少。 – Metabble