2010-11-09 32 views
1

我想了解應用程序如何通過代碼實現圖像的一些着色責任,以實現更靈活的着色選項數組。讓我解釋。Android應用程序可以承擔通過代碼動態着色圖像資源的責任嗎?

假設你在photoshop,也許是汽車上設計了一個很棒的圖像。你讓汽車發紅。然後,使用額外的半透明層,您可以添加更亮更暗的點,以實現陽光下的陰影或閃光等效果。也許你可以添加另一個鍍鉻邊框。

我希望能夠修改那個「紅色汽車」圖層,而不會影響真正拋光圖像的其他陰影效果。我想通過代碼改變汽車說出藍色,讓它像紅色汽車一樣閃閃發光。

首先,這可能嗎?如果是這樣,我需要開始閱讀有關內容以便能夠像這樣動態調整圖像的顏色。哪些課程可以幫助我?我需要注意哪些缺陷?

其次,也許最重要的是,我需要告訴我的圖形設計師需要什麼才能正確設置我。如果我無法正確傳達我需要的東西,那麼我不可能編寫代碼以使它看起來很棒!

一如既往,感謝您的閱讀和任何幫助,您可以提供!

回答

2

因此,您不能拍攝一張已平整的圖像,並將其恢復到最初構圖的圖像。一旦圖像變平,它實質上是一個平面的二維像素網格。

有兩種方法可以做到這一點。

您可以將部分透明的圖像疊加在一起。我不知道你的用例,但是你可以很容易地用透明的(和部分透明的區域)顯示一堆圖像,它們和你的圖層在Photoshop中一樣佔據相同的空間。那時,你可以換入和換出不同的圖層。您也可以在View.onDraw(Canvas)方法中執行此操作,並繪製一疊部分透明的圖像。

這是一種方法。另一種方法是根據你在Photoshop中可以做到的平面圖像來思考。您可以像使用Photoshop中圖像 - >調整菜單中的項目(亮度和合同,色調和飽和度,色彩平衡,水平,曲線等)那樣更改圖像顏色的各個方面。這些東西只是像素上的方程式,在某些情況下相當簡單(但在其他情況下,雖然相當複雜)。如果你的圖像相對較小,你可以實際遍歷所有的像素,並在一秒之內完成對它們的操作,如果這符合你的目的(雖然可能是矯枉過正)。

+0

好東西。是的,我明白必須覆蓋圖像。我真正追求的部分是色彩,我不認爲調整色調/飽和度/對比度等給了我靈活性。我還考慮通過整個圖像循環來設置RBG值,問題是圖像是矩形,透明度超出形狀。我不知道如何在隨機形狀上創建一個循環。也許我可以做,如果(!透明){}等 – user432209 2010-11-09 23:39:53

+0

我確實設法使用覆蓋成功地做到了這一點。訣竅是我的設計師必須弄清楚如何在圖像中實現漸變透明度(如Photoshop混合)。 – user432209 2011-01-29 17:49:36

相關問題