BlendMode(圖像混合模式)

類似于Android原生的PorterDuffXferMode:


以下是Flutter提供的圖像混合模式滚躯,說實(shí)話雏门,好多混合模式結(jié)合官方給出的圖片反而不理解,如果有大神對(duì)這些組合方式有更好的理解掸掏,還望評(píng)論區(qū)賜教W掠啊!阅束!

  • clear:清除所有內(nèi)容


  • src:只顯示源圖像


  • dst:只顯示目標(biāo)圖像


  • srcOver:默認(rèn)值。將src與dst進(jìn)行組合茄唐,如果src和dst有重疊的地方息裸,則以src內(nèi)容覆蓋與dst重疊的地方。


  • dstOver:與srcOver相反沪编,This is useful when the source image should have been painted before the destination image, but could not be(摘自源碼注釋呼盆,翻譯:當(dāng)源圖像應(yīng)該在目標(biāo)圖像之前繪制,但不能繪制時(shí)蚁廓,這是非常有用的访圃。說實(shí)話,官方給出的下圖不理解為什么src的鳥和dst下面的圖片不顯示相嵌?)


  • srcIn:只顯示src和dst重合部分腿时,且dst的重合部分只有不透明度有用。(這個(gè)圖也不理解)


  • dstIn:只顯示src和dst重合部分饭宾,且src的重合部分只有不透明度有用批糟。


  • srcOut:顯示src圖像,但只顯示src和dst的不重合部分看铆,且重合部分只有dst是不透明的才算重合


  • dstOut:顯示dst圖像徽鼎,但只顯示src和dst的不重合部分,且重合部分只有src是不透明的才算重合


  • srcATop:將src與dst進(jìn)行組合,但只組合src和dst重合部分否淤,不重合部分顯示dst


  • dstATop:將src與dst進(jìn)行組合悄但,但只組合src和dst重合部分,不重合部分顯示src


  • xor:顯示src和dst不重合部分石抡,重合部分不顯示


  • plus:混合src和dst檐嚣,其中src的顏色透明度降低


  • modulate: 將src和dst重疊部分混合,使混合部分顏色相乘汁雷,這只能導(dǎo)致相同或更深的顏色(乘以白色净嘀,1.0,結(jié)果沒有變化;乘以黑色侠讯,得到黑色)挖藏。當(dāng)合成兩個(gè)不透明的圖像時(shí),其效果類似于將屏幕上的兩個(gè)透明度重疊厢漩。如果src或dst考慮透明度膜眠,可以使用[multiply]


  • screen: 將src圖像和dst圖像的分量的倒數(shù)相乘,并將結(jié)果的倒數(shù)相乘溜嗜。反轉(zhuǎn)組件意味著將完全飽和通道(不透明的白色)視為值0.0宵膨,而通常將值0.0(黑色、透明)視為值1.0炸宵。這與[modulate]混合模式本質(zhì)上是相同的辟躏,但是在乘法運(yùn)算之前顏色的值是倒過來的,在渲染之前結(jié)果是倒過來的土全。這只能導(dǎo)致相同或更淺的顏色(乘以黑色捎琐,1.0,結(jié)果沒有變化;乘以白色裹匙,0.0瑞凑,結(jié)果是白色)。同樣概页,在alpha通道中籽御,它只能產(chǎn)生更不透明的顏色。這與兩個(gè)同時(shí)在同一屏幕上顯示圖像的投影儀有相似的效果惰匙。


  • overlay:將src圖像和dst圖像的組件相乘技掏,然后調(diào)整它們以適應(yīng)dst。具體來說项鬼,如果dst值更小零截,則將其與src值相乘,而src值更小秃臣,則將src值的倒數(shù)與dst值的倒數(shù)相乘涧衙,然后將結(jié)果相乘哪工。反轉(zhuǎn)組件意味著將完全飽和的通道(不透明的白色)視為值0.0,而通常將值0.0(黑色弧哎、透明)視為值1.0雁比。


  • darken:通過從每個(gè)顏色通道中選擇最小值來組合源圖像和目標(biāo)圖像。輸出圖像的不透明度計(jì)算方法與[srcOver]相同撤嫩。


  • lighten: 通過從每個(gè)顏色通道中選擇最大值來組合源圖像和目標(biāo)圖像偎捎。輸出圖像的不透明度計(jì)算方法與[srcOver]相同。


  • colorDodge:用src的倒數(shù)除以dst序攘。反轉(zhuǎn)組件意味著將完全飽和通道(不透明的白色)視為值0.0茴她,而通常將值0.0(黑色、透明)視為值1.0程奠。


  • colorBurn:用dst函數(shù)的倒數(shù)除以src函數(shù)的倒數(shù)丈牢,然后求結(jié)果的倒數(shù)。反轉(zhuǎn)組件意味著將完全飽和通道(不透明的白色)視為值0.0瞄沙,而通常將值0.0(黑色己沛、透明)視為值1.0。


  • hardLight:將src圖像和dst圖像的組件相乘距境,然后對(duì)它們進(jìn)行調(diào)整申尼,使之有利于src。具體來說垫桂,如果src值更小师幕,則將其與dst值相乘,而如果dst值更小诬滩,則將dst值的倒數(shù)與src值的倒數(shù)相乘霹粥,然后將結(jié)果相乘。反轉(zhuǎn)組件意味著將完全飽和通道(不透明的白色)視為值0.0碱呼,而通常將值0.0(黑色蒙挑、透明)視為值1.0宗侦。


  • softLight: 對(duì)于小于0.5的src值使用[colorDodge]愚臀,對(duì)于大于0.5的src值使用[colorBurn]。這導(dǎo)致了與[overlay]相似但更柔和的效果矾利。


  • difference: 從每個(gè)通道的大值中減去小值姑裂。合成黑色沒有效果;合成白色使另一幅圖像的顏色相反。輸出圖像的不透明度計(jì)算方法與[srcOver]相同男旗。這種影響類似[exclusion]舶斧,但更為嚴(yán)重。


  • exclusion:從兩個(gè)圖像的和中減去兩個(gè)圖像的乘積的兩倍察皇。合成黑色沒有效果;合成白色使另一幅圖像的顏色相反茴厉。輸出圖像的不透明度計(jì)算方法與[srcOver]相同泽台。效果類似[difference],但更柔和矾缓。


  • multiply:將src圖像和dst圖像的組件相乘怀酷,包括alpha通道。這只能導(dǎo)致相同或更深的顏色(乘以白色嗜闻,1.0蜕依,結(jié)果沒有變化;乘以黑色,得到黑色)琉雳。由于alpha通道也是相乘的样眠,在一個(gè)圖像中一個(gè)完全透明的像素(不透明度0.0)會(huì)導(dǎo)致輸出中一個(gè)完全透明的像素。這與[dstIn]很相似翠肘,但是顏色混合了檐束。如果src和dst都沒有透明度,則可以使用[modulate]


  • hue:取src圖像的色調(diào)锯茄,以及dst圖像的飽和度和亮度厢塘。其效果是將dst圖像與src圖像著色。輸出圖像的不透明度計(jì)算方法與[srcOver]相同肌幽。在src圖像中完全透明的區(qū)域從dst圖像中獲取它們的色調(diào)晚碾。


  • saturation:取src圖像的飽和度,以及dst圖像的色調(diào)和亮度喂急。輸出圖像的不透明度計(jì)算方法與[srcOver]相同格嘁。在src圖像中完全透明的區(qū)域從dst圖像中獲取飽和度。


  • color:取src圖像的色調(diào)和飽和度廊移,以及dst圖像的亮度糕簿。其效果是將dst圖像與src圖像著色。輸出圖像的不透明度計(jì)算方法與[srcOver]相同狡孔。在src圖像中完全透明的區(qū)域從dst圖像中獲取它們的色調(diào)和飽和度懂诗。


  • luminosity:取src圖像的亮度,以及dst圖像的色調(diào)和飽和度苗膝。輸出圖像的不透明度計(jì)算方法與[srcOver]相同殃恒。在src圖像中完全透明的區(qū)域從dst圖像中獲取亮度


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市辱揭,隨后出現(xiàn)的幾起案子离唐,更是在濱河造成了極大的恐慌,老刑警劉巖问窃,帶你破解...
    沈念sama閱讀 218,755評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件亥鬓,死亡現(xiàn)場離奇詭異,居然都是意外死亡域庇,警方通過查閱死者的電腦和手機(jī)嵌戈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門覆积,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人熟呛,你說我怎么就攤上這事技健。” “怎么了惰拱?”我有些...
    開封第一講書人閱讀 165,138評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵雌贱,是天一觀的道長。 經(jīng)常有香客問我偿短,道長欣孤,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,791評(píng)論 1 295
  • 正文 為了忘掉前任昔逗,我火速辦了婚禮降传,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘勾怒。我一直安慰自己婆排,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評(píng)論 6 392
  • 文/花漫 我一把揭開白布笔链。 她就那樣靜靜地躺著段只,像睡著了一般。 火紅的嫁衣襯著肌膚如雪鉴扫。 梳的紋絲不亂的頭發(fā)上赞枕,一...
    開封第一講書人閱讀 51,631評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音坪创,去河邊找鬼炕婶。 笑死,一個(gè)胖子當(dāng)著我的面吹牛莱预,可吹牛的內(nèi)容都是我干的柠掂。 我是一名探鬼主播,決...
    沈念sama閱讀 40,362評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼依沮,長吁一口氣:“原來是場噩夢啊……” “哼涯贞!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起悉抵,我...
    開封第一講書人閱讀 39,264評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤肩狂,失蹤者是張志新(化名)和其女友劉穎摘完,沒想到半個(gè)月后姥饰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,724評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡孝治,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年列粪,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了审磁。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,040評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡岂座,死狀恐怖态蒂,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情费什,我是刑警寧澤钾恢,帶...
    沈念sama閱讀 35,742評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站鸳址,受9級(jí)特大地震影響瘩蚪,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜稿黍,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評(píng)論 3 330
  • 文/蒙蒙 一疹瘦、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧巡球,春花似錦言沐、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至矿筝,卻和暖如春鸯乃,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背跋涣。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評(píng)論 1 270
  • 我被黑心中介騙來泰國打工缨睡, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人陈辱。 一個(gè)月前我還...
    沈念sama閱讀 48,247評(píng)論 3 371
  • 正文 我出身青樓奖年,卻偏偏與公主長得像,于是被迫代替她去往敵國和親沛贪。 傳聞我的和親對(duì)象是個(gè)殘疾皇子陋守,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容