第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將RGBA顏色轉(zhuǎn)換為RGB

將RGBA顏色轉(zhuǎn)換為RGB

慕無忌1623718 2019-12-18 16:47:37
如何將RGBA顏色元組(例如96、96、96、202)轉(zhuǎn)換為相應(yīng)的RGB顏色元組?編輯:我想要得到的RGB值在視覺上在白色背景上與RGBA元組最相似。
查看完整描述

3 回答

?
米琪卡哇伊

TA貢獻1998條經(jīng)驗 獲得超6個贊

我贊成約翰尼斯的回答,因為他對此是正確的。


*有人提出我的原始答案不正確的評論。如果alpha值與正常值相反,則可以正常工作。但是,根據(jù)定義,這在大多數(shù)情況下不起作用。因此,我更新了以下公式以適合正常情況。最終等于@hkurabko在下面的回答*


但是,一個更具體的答案是將alpha值基于不透明的背景色(或稱為“遮罩”)合并到實際的顏色結(jié)果中。


為此有一個算法(來自此 Wikipedia鏈接):


標準化RGBA值,使它們都在0到1之間-只需將每個值除以255即可。我們稱之為結(jié)果Source。

還可以對遮罩色進行歸一化(黑色,白色等)。我們將結(jié)果稱為“ BGColor 注” -如果背景顏色也是透明的,則必須首先遞歸該過程(再次選擇遮罩),以獲取此操作的源RGB。

現(xiàn)在,將轉(zhuǎn)換定義為(在此處完整的偽代碼!):


Source => Target = (BGColor + Source) =

Target.R = ((1 - Source.A) * BGColor.R) + (Source.A * Source.R)

Target.G = ((1 - Source.A) * BGColor.G) + (Source.A * Source.G)

Target.B = ((1 - Source.A) * BGColor.B) + (Source.A * Source.B)

要獲得最終的0-255值,Target只需將所有歸一化的值乘以255,并確保在任何組合值超過1.0時將上限設(shè)置為255(這是過度曝光,并且有更復(fù)雜的算法來處理此問題涉及整個圖像處理等)。


編輯:在您的問題中,您說過您想要一個白色背景-在那種情況下,只需將BGColor固定為255,255,255即可。


查看完整回答
反對 回復(fù) 2019-12-18
  • 3 回答
  • 0 關(guān)注
  • 1930 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號