我需要一種調整UIImage大小的方法,就像使用「最近鄰居」重採樣的photoshop。我一直在尋找一些,但我發現的一切都是關於CoreGraphics的厚度來提高雙三次採樣質量。我在我的應用中使用了像素風格的設計,並且我通過像素創建了很多東西,然後用x5倍增器放大(這需要很多時間,所以我甚至接近爲Photoshop編寫腳本)。例如:UIImage調整硬邊緣
>
但我真的不需要重採樣的像這樣的結果:
也許有人會告訴我的正確途徑。
我需要一種調整UIImage大小的方法,就像使用「最近鄰居」重採樣的photoshop。我一直在尋找一些,但我發現的一切都是關於CoreGraphics的厚度來提高雙三次採樣質量。我在我的應用中使用了像素風格的設計,並且我通過像素創建了很多東西,然後用x5倍增器放大(這需要很多時間,所以我甚至接近爲Photoshop編寫腳本)。例如:UIImage調整硬邊緣
>
但我真的不需要重採樣的像這樣的結果:
也許有人會告訴我的正確途徑。
當您繪製圖像轉化爲圖形上下文,可以設置圖形上下文的插值質量爲「無」,像這樣(在視圖中的drawRect
方法如):
CGContextRef c = UIGraphicsGetCurrentContext();
CGContextSetInterpolationQuality(c, kCGInterpolationNone);
UIImage *image = [UIImage imageNamed:@"pixels.png"];
[image drawInRect:self.bounds];
如果您需要的結果作爲UIImage
(例如,將其分配給內置的UI控件),您可以使用UIGraphicsBeginImageContext
(您會發現很多示例)。
另一種方法是設置圖像視圖的層的magnificationFilter
屬性:
pixelatedImageView.layer.magnificationFilter = kCAFilterNearest;
這可能是更快,更內存高效的,因爲你並不需要重新繪製圖像。
這個答案看起來不錯,我需要在XCode很快接受它。謝謝。 – kokoko 2012-07-12 17:41:02
作爲補充,我可以說我已經找到了批量圖像處理與photoshop「行動」的好方法。但我仍然需要一個答案,以減少存儲的資源圖像的大小。 – kokoko 2012-07-12 17:37:29