2014-07-19 76 views
1

蘋果如何改變屏幕上每個像素的顏色(即顏色的灰度/反轉),而不管顏色屬於哪個對象。它顯然不會讀取背景顏色屬性,因爲它甚至會影響圖像。iOS:有沒有辦法改變屏幕上每個像素的顏色?

如何將一個辦法呢?

爲了澄清我的問題,我怎麼可以改變每一個像素的亮度/色度在屏幕上,類似於f.lux是怎麼做的?

+2

這不是你問真的不清楚是什麼。有沒有一種特定的方式來改變像素?你想在應用程序或其他應用程序中執行此操作嗎?你一次意味着什麼?在一個框架?在一行代碼中?用GPU的單一指令? –

+0

感謝@NikolaiRuhe抽空評論。我已經更新了我的答案。 – KingPolygon

回答

1

如何改變蘋果在屏幕上的每一個像素的顏色?

蘋果可能使用了一種名爲CGSetDisplayTransferByTable的API,該API在iOS上不公開。

顯示轉移臺控制如何在三個RGB通道的每個可能值顯示在屏幕上,並且可以將其轉換爲一個不同的值。它與Photoshop的「曲線」工具類似。通過使用正確的轉換表,可以反轉屏幕,調整色調或增強對比度。

由於調錶是圖形硬件的一部分,始終是積極的,有參與零性能開銷。在Mac OS上,實際上有兩個傳輸表:一個用於應用程序,另一個用於操作系統。

我如何可以改變每一個像素的亮度/色度屏幕

上沒有越獄,你不能。

+0

謝謝尼古拉這是類似於查理士? – KingPolygon

+0

我不知道你是否有更特別的東西,因爲共同查找表的通用術語。如果沒有,是的,Quartz顯示服務可能使用LUT來實現顯示傳輸API。 –

相關問題