2012-12-03 64 views
0

當我使用drawInRect方法繪製大尺寸圖像(比如說1000x1000像素),尺寸爲200x200像素,並且我再次使用drawInRect方法將圖像繪製爲其原始尺寸(1000x1000像素)時,分辨率是否會影響?通過將大圖像繪製成小圖像並再次將相同圖像繪製成大圖像,分辨率是否會降低?drawInRect在縮小圖像時會失去分辨率?

+0

您是否使用相同的UIImage繪製兩者?或者使用從200x200上下文繪製的圖像繪製新的1000x1000上下文? – borrrden

+0

我使用從200x200上下文繪製的圖像繪製新的1000x1000上下文。 –

回答

1

希望我已經把你的問題在我的腦海中糾正了。

如果您拍攝的圖像大於200x200像素並將其繪製到200x200像素的矩形中,則會縮小並丟失大部分細節。如果你接下來得到的圖像,並嘗試繪製在一個更大的矩形,它會被放大。所以,要回答你的問題,是的。它會像地獄一樣模糊。這與在圖形編輯器中調整圖像大小然後將其恢復原始大小無異。細節的喪失是永久的;沒有辦法知道在轉換過程中失去了什麼。

+0

你可以建議正確的方式來縮放圖像。 –

+1

你有原始圖像嗎?用這個畫一個小圖,然後當你需要再畫一個大圖時,也可以使用原圖。當然,您可以將圖像始終存儲在UIImageView中並將其放入滾動視圖中;內容本身在放大和縮小時不會更改。無論哪種方式,您都需要將原件保存在內存中。一旦縮小並且原始消失,沒有辦法恢復丟失的細節。一旦它被細化到更少的細節中,任何派生的細節都將比原始細節更少。 – Metabble