我有一個小型的iPhone應用程序,我正在工作,我用UIImageView顯示圖像。我正在使用Aspect Fit模式進行擴展。我想讓圖像按比例放大,無插值/平滑(我希望它看起來像素化)。有什麼方法可以改變這種行爲嗎?UIImageView縮放/插值
更一般的問題是我可以實現我自己的縮放算法,還是有其他內置的我可以選擇?
我有一個小型的iPhone應用程序,我正在工作,我用UIImageView顯示圖像。我正在使用Aspect Fit模式進行擴展。我想讓圖像按比例放大,無插值/平滑(我希望它看起來像素化)。有什麼方法可以改變這種行爲嗎?UIImageView縮放/插值
更一般的問題是我可以實現我自己的縮放算法,還是有其他內置的我可以選擇?
您需要的視圖的層上magnificationFilter屬性設置爲最近的鄰居過濾器:
[[view layer] setMagnificationFilter:kCAFilterNearest]
有兩種方法可以做到這一點。你可以實現一個沒有內插的重定標算法。如果這要做很多工作,您可以在另一個應用程序(如gimp或photoshop)中重新調整圖像。這將工作,除非你需要在你的應用程序中動態改變大小。
確保您包括行
#import <QuartzCore/CALayer.h>
在包含該文件的頂部調用setMagnificationFilter或者它不會編譯。
imageView.layer.magnificationFilter = kCAFilterNearest
imageView.layer.shouldRasterize = true
作爲Rekle的人有關的回答說,請確保您使用setMagnificationFilter時添加#進口: –
2012-06-06 20:14:26
這是偉大的,達到我的目的,但我要問,當我使用`magnificationFilter = kCAFilterNearest`,這些大而銳利的像素是真正放大圖像的原始像素,還是僅僅通過一些處理產生?謝謝! – Suge 2014-11-30 01:24:13