2011-03-17 61 views
2

我只是想知道,是否有可能爲圖像製作色調效果,但不使用OpenGl ES,最好使用CALayer。 我花了一些時間尋找答案,但仍然沒有。圖像的色調效果 - iOS

tnx

回答

0

您是否在談論着色圖像?一個快速的方法(雖然可能不是最好的,對於你需要一個定製的解決方案)將是檢查出石英的混合選項:

https://developer.apple.com/library/ios/#documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/dq_paths/dq_paths.html#//apple_ref/doc/uid/TP30001066-CH211-TPXREF101

+1

Hue混合模式可能是您要找的內容: 「要使用此混合模式,請使用常量kCGBlendModeHue調用函數CGContextSetBlendMode。」 – FeifanZ 2011-03-17 22:50:01

+0

是的,我也找到了這個,但是我需要一個像蘋果一樣的解決方案,例如「GLImageProcessing」,用戶可以通過滑塊影響圖像色調,但是沒有Open GL Es。也許我錯過了一些東西,但這看起來不像那樣。 – Vanya 2011-03-17 23:01:48

+1

從該頁面引用,「指定使用背景的亮度和飽和度值以及前景圖像的色調。」 因此,有一個UISlider調整UIColor的值(使用HSB顏色,而不是RGB)。滑塊調整UIColor的色調,並將該顏色設置爲前景色。如果你想給用戶多少控制權,你也可以有更多的滑塊來調整色調的強度(代碼中前景的不透明度)以及顏色的飽和度和亮度。 對於OpenGL ES的缺點,我會說這與你將要獲得的差不多。 – FeifanZ 2011-03-17 23:16:38

0

你可以嘗試對原始圖像的可見部分複製到一個RGB位圖,並且編寫Neon ASM重新計算每個像素的RGB,給出一些線性色彩空間變換。 Accelerate DSP框架中的某些內容也可能適用。然後用修改後的位圖圖像更新CALayer的內容。對於合理大小的圖像部分,幀速率可能足夠快。如果滑塊沒有移動一點,請更新圖像的其餘部分。

+0

這聽起來,可以工作,但恐怕重新計算會導致嚴重的性能問題。 – Vanya 2011-03-18 10:14:07