2012-11-27 78 views
-2

它看起來像PSD文件中的合併圖像數據包含與白色(基於透明度)混合的RGB數據。這是正確的所有版本的Photoshop/PSD?我可以禁用它或控制該顏色嗎?Photoshop是否總是將透明圖像與白色混合?

上下文:我正在閱讀使用C++代碼的PSD文件(儘管沒有必要的編碼知識來回答我相信的問題)。 PSD文件包含「圖像數據部分」(RGB,透明度(如果有的話),然後是alpha蒙版)中所有圖層的合併數據。根據我的經驗,RGB數據基於透明度預先乘以白色。當你想將RGB與基於透明度的東西混合時,這會導致問題(想想:我將這些數據用作遊戲引擎中的紋理)。我附上說明問題的圖片。頂部圖像是PhotoShop中的源代碼。左下方顯示合併數據中的RGB - 請參閱透明圖像部分與白色混合。我的目標是從沒有白色混合的所有圖層獲取RGB數據,即右下角的圖像(只有完全透明的部分用白色填充)。

enter image description here

在忽略層的任何工具(IrfanView的舉例)只需打開透明PSD文件,你會看到圖像被預乘白色。

PNG等格式支持透明圖像部分的顏色 - 不會與白色(或其他顏色)混合。

所以我的問題:我有任何控制權,與白色混合?是否所有的PhotoShop版本都這樣做?

+0

怎麼了downvotes沒有任何評論? –

回答

0

你無法控制這個。 Photoshop總是將圖層與白色合併。

我們最終做的是在將PSD文件導入到我們的引擎期間,基於alpha值的顏色減去該顏色。

2

如果我正確理解您的問題,聽起來好像您可能已將圖層與白色默認背景合併。 Photoshop默認情況下會將圖像與其周圍的顏色混合,因此如果圖像周圍出現白色,則會混合白色,這對所有版本的Photoshop都是適用的。

你應該有自己想要的模糊層,然後重試。編輯: 好的。那麼它推出什麼是它想要推出。我假設你正在使用高斯模糊,如果你是,它正在做它應該做的。爲了達到您的期望,您不能單獨使用模糊工具。有些形狀比其他形狀更尖銳,有些則比其他形狀更模糊。由於高斯模糊對所有事物設置了統一的模糊,所以不可能期望Photoshop能夠在一個簡單的動作中完成自己想要的操作(但如果您想多次執行此操作,則可以自己動作)。

爲了從點A到點B,我建議將每一行放在它自己的層上來啓動,然後使用smudge toolblur tool來獲得你想要的行數。下面是與例如塗抹工具的:

enter image description here

你可能想使你刷的0%硬度100%,而不是爲更銳利的線條。對於Photoshop來說,很難讓您完成一個完全模糊的線條,就像您要求的那樣。但是你仍然可以使用模糊的線條。對於想要做更多顛簸的線條,您可以使用Magic Wand工具選擇軟筆觸,然後使用Paint Bucket工具填充它們以獲得要查找的效果(之前和之後):

enter image description here

同樣,Photoshop沒有內置動作來執行所需操作。它所有的功能都是爲整個圖像產生通用效果,並且這對所有版本的Photoshop都是如此,但獲得您想要的效果非常容易。確保一切都在自己的圖層上,並嘗試使用Photoshop提供的工具。

+0

對不起,我想我的問題還不夠清楚。我編輯了我的問題來更好地解釋問題。 –

+0

好的。我編輯了我的答案,希望它有幫助。 – Nagoshi

+0

謝謝你的回答,我相信你對你所說的話完全正確。但它不回答我的問題。我的問題不是關於工具。這是關於Photoshop如何保存數據。我在說PSD文件包含合併的RGBA數據的一部分,看起來像保存該數據時,Photoshop會合並所有圖層的RGB數據,然後您可以說它會將結果與不透明的白色圖層進行合併。我試圖弄清楚我是否可以控制這種行爲。 –