SwiftUI - BlendMode

在SwiftUI中,BlendMode是一個(gè)枚舉谴分,它定義了不同的混合模式锈麸,這些模式?jīng)Q定了如何將一個(gè)視圖的內(nèi)容與其背景或其他視圖的內(nèi)容進(jìn)行混合。每種混合模式都產(chǎn)生不同的視覺(jué)效果牺蹄,允許開(kāi)發(fā)者創(chuàng)建各種獨(dú)特的界面和動(dòng)畫(huà)效果忘伞。

BlendMode的主要枚舉值及其意義如下:

  • .normal:
    這是默認(rèn)的混合模式。在此模式下沙兰,源顏色(即視圖的顏色)將直接覆蓋目標(biāo)顏色(即背景或其他視圖的顏色)氓奈。沒(méi)有特殊的混合效果。
  • .multiply:
    此模式將源顏色與目標(biāo)顏色相乘鼎天。結(jié)果顏色通常比源顏色和目標(biāo)顏色都要暗舀奶。這種模式常用于創(chuàng)建陰影或加深顏色。
  • .screen:
    此模式將源顏色與目標(biāo)顏色相加斋射,然后減去它們的乘積育勺。結(jié)果顏色通常比源顏色和目標(biāo)顏色都要亮。這種模式常用于創(chuàng)建亮光或高亮效果罗岖。
  • .overlay:
    此模式根據(jù)目標(biāo)顏色的亮度來(lái)混合源顏色涧至。如果目標(biāo)顏色較暗,則使用類(lèi)似于multiply的模式桑包;如果目標(biāo)顏色較亮南蓬,則使用類(lèi)似于screen的模式。這種模式可以在暗色和亮色之間創(chuàng)建平滑的過(guò)渡哑了。
  • .darken:
    此模式選擇源顏色和目標(biāo)顏色中較暗的一個(gè)赘方。如果源顏色比目標(biāo)顏色暗,則使用源顏色垒手;否則蒜焊,使用目標(biāo)顏色。
  • .lighten:
    此模式選擇源顏色和目標(biāo)顏色中較亮的一個(gè)科贬。如果源顏色比目標(biāo)顏色亮泳梆,則使用源顏色;否則榜掌,使用目標(biāo)顏色优妙。
  • .colorDodge:
    此模式通過(guò)增加目標(biāo)顏色的亮度來(lái)反映源顏色。源顏色越亮憎账,目標(biāo)顏色的亮度增加越多套硼。這種模式常用于創(chuàng)建高光和亮光效果。
  • .colorBurn:
    此模式通過(guò)降低目標(biāo)顏色的亮度來(lái)反映源顏色胞皱。源顏色越暗邪意,目標(biāo)顏色的亮度降低越多九妈。這種模式常用于創(chuàng)建陰影和加深顏色效果。
  • .hardLight:
    此模式根據(jù)源顏色的亮度來(lái)混合顏色雾鬼。如果源顏色比50%的灰色亮萌朱,則使用類(lèi)似于screen的模式;如果源顏色比50%的灰色暗策菜,則使用類(lèi)似于multiply的模式晶疼。這種模式可以在暗色和亮色之間創(chuàng)建強(qiáng)烈的對(duì)比效果。
  • .softLight:
    此模式類(lèi)似于hardLight又憨,但產(chǎn)生的對(duì)比效果較為柔和翠霍。它根據(jù)源顏色的亮度和飽和度來(lái)調(diào)整目標(biāo)顏色的亮度和飽和度,從而創(chuàng)建出更加自然的混合效果蠢莺。
  • .difference:
    此模式從目標(biāo)顏色中減去源顏色寒匙,或者從源顏色中減去目標(biāo)顏色(取決于哪個(gè)顏色的亮度更高)。結(jié)果顏色表示兩種顏色之間的差異浪秘。這種模式常用于創(chuàng)建獨(dú)特的視覺(jué)效果和動(dòng)畫(huà)效果蒋情。
  • .exclusion:
    此模式類(lèi)似于difference埠况,但產(chǎn)生的結(jié)果更加柔和和自然耸携。它根據(jù)源顏色和目標(biāo)顏色的差異來(lái)創(chuàng)建一種獨(dú)特的混合效果,同時(shí)保留了一些原始顏色的特征辕翰。
  • .hue:
    此模式使用源顏色的色相和目標(biāo)顏色的飽和度及亮度來(lái)創(chuàng)建結(jié)果顏色夺衍。這種模式常用于改變圖像的色相而不改變其亮度和飽和度。
  • .saturation:
    此模式使用源顏色的飽和度和目標(biāo)顏色的色相及亮度來(lái)創(chuàng)建結(jié)果顏色喜命。這種模式常用于改變圖像的飽和度而不改變其色相和亮度沟沙。
  • .color:
    此模式使用源顏色的色相和飽和度以及目標(biāo)顏色的亮度來(lái)創(chuàng)建結(jié)果顏色。這是一種常用的顏色混合模式壁榕,可以保留原始顏色的某些特征同時(shí)添加新的顏色信息矛紫。
  • .luminosity:
    此模式使用源顏色的亮度和目標(biāo)顏色的色相及飽和度來(lái)創(chuàng)建結(jié)果顏色。這種模式常用于改變圖像的亮度而不改變其色相和飽和度牌里。
  • sourceAtop:
    此模式將源顏色繪制在目標(biāo)顏色的上方颊咬,但僅當(dāng)源顏色與目標(biāo)顏色重疊時(shí)才會(huì)顯示源顏色。如果源顏色與目標(biāo)顏色不重疊牡辽,則不會(huì)顯示任何內(nèi)容喳篇。這類(lèi)似于將一張半透明的紙放在另一張紙上,只有重疊的部分才會(huì)顯示上面的紙的顏色态辛。
  • destinationOver:
    此模式將目標(biāo)顏色繪制在源顏色的上方麸澜。這與正常的繪圖順序相反,通常我們是將源顏色繪制在目標(biāo)顏色的上方奏黑。這種模式可以用于創(chuàng)建一些特殊的視覺(jué)效果炊邦,例如模擬反光或倒影编矾。
  • destinationOut:
    此模式將顯示源顏色之外的目標(biāo)顏色。換句話(huà)說(shuō)馁害,它會(huì)顯示目標(biāo)顏色中與源顏色不重疊的部分洽沟。這可以用于創(chuàng)建遮罩效果,其中源顏色定義了一個(gè)形狀或區(qū)域蜗细,而該形狀或區(qū)域之外的目標(biāo)顏色則顯示出來(lái)裆操。
  • plusDarker:
    此模式將源顏色和目標(biāo)顏色相加,但結(jié)果顏色將比兩者中的較暗顏色還要暗炉媒。如果源顏色和目標(biāo)顏色中的任何一個(gè)已經(jīng)很暗了踪区,那么結(jié)果顏色將非常接近黑色。這種模式可以用于加深顏色或創(chuàng)建陰影效果吊骤。
  • plusLighter:
    此模式將源顏色和目標(biāo)顏色相加缎岗,產(chǎn)生更亮的結(jié)果。與plusDarker相反白粉,它會(huì)使顏色變亮而不是變暗传泊。如果源顏色和目標(biāo)顏色都很亮,那么結(jié)果顏色將非常接近白色鸭巴。這種模式可以用于創(chuàng)建高光或亮光效果眷细。

在SwiftUI中使用BlendMode時(shí),你可以將其作為視圖修飾符的參數(shù)傳遞給相應(yīng)的函數(shù)或方法鹃祖。例如溪椎,你可以使用blendMode(.overlay)來(lái)將當(dāng)前視圖的內(nèi)容與其背景或其他視圖的內(nèi)容以覆蓋模式進(jìn)行混合。這將產(chǎn)生一種獨(dú)特的視覺(jué)效果恬口,使你的界面更加生動(dòng)和有趣校读。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市祖能,隨后出現(xiàn)的幾起案子歉秫,更是在濱河造成了極大的恐慌,老刑警劉巖养铸,帶你破解...
    沈念sama閱讀 206,839評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件雁芙,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡揭厚,警方通過(guò)查閱死者的電腦和手機(jī)却特,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)筛圆,“玉大人裂明,你說(shuō)我怎么就攤上這事。” “怎么了闽晦?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,116評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵扳碍,是天一觀(guān)的道長(zhǎng)。 經(jīng)常有香客問(wèn)我仙蛉,道長(zhǎng)笋敞,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,371評(píng)論 1 279
  • 正文 為了忘掉前任荠瘪,我火速辦了婚禮夯巷,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘哀墓。我一直安慰自己趁餐,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布篮绰。 她就那樣靜靜地躺著后雷,像睡著了一般。 火紅的嫁衣襯著肌膚如雪吠各。 梳的紋絲不亂的頭發(fā)上臀突,一...
    開(kāi)封第一講書(shū)人閱讀 49,111評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音贾漏,去河邊找鬼候学。 笑死,一個(gè)胖子當(dāng)著我的面吹牛磕瓷,可吹牛的內(nèi)容都是我干的盒齿。 我是一名探鬼主播,決...
    沈念sama閱讀 38,416評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼困食,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了翎承?” 一聲冷哼從身側(cè)響起硕盹,我...
    開(kāi)封第一講書(shū)人閱讀 37,053評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎叨咖,沒(méi)想到半個(gè)月后瘩例,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,558評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡甸各,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評(píng)論 2 325
  • 正文 我和宋清朗相戀三年垛贤,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片趣倾。...
    茶點(diǎn)故事閱讀 38,117評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡聘惦,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出儒恋,到底是詐尸還是另有隱情善绎,我是刑警寧澤黔漂,帶...
    沈念sama閱讀 33,756評(píng)論 4 324
  • 正文 年R本政府宣布,位于F島的核電站禀酱,受9級(jí)特大地震影響炬守,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜剂跟,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評(píng)論 3 307
  • 文/蒙蒙 一减途、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧曹洽,春花似錦观蜗、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,315評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至坊夫,卻和暖如春砖第,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背环凿。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,539評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工梧兼, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人智听。 一個(gè)月前我還...
    沈念sama閱讀 45,578評(píng)論 2 355
  • 正文 我出身青樓羽杰,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親到推。 傳聞我的和親對(duì)象是個(gè)殘疾皇子考赛,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評(píng)論 2 345

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