BlendMode(图像混合模式)

类似于Android原生的PorterDuffXferMode:


以下是Flutter提供的图像混合模式,说实话,好多混合模式结合官方给出的图片反而不理解,如果有大神对这些组合方式有更好的理解,还望评论区赐教!!!

  • clear:清除所有内容


  • src:只显示源图像


  • dst:只显示目标图像


  • srcOver:默认值。将src与dst进行组合,如果src和dst有重叠的地方,则以src内容覆盖与dst重叠的地方。


  • dstOver:与srcOver相反,This is useful when the source image should have been painted before the destination image, but could not be(摘自源码注释,翻译:当源图像应该在目标图像之前绘制,但不能绘制时,这是非常有用的。说实话,官方给出的下图不理解为什么src的鸟和dst下面的图片不显示?)


  • srcIn:只显示src和dst重合部分,且dst的重合部分只有不透明度有用。(这个图也不理解)


  • dstIn:只显示src和dst重合部分,且src的重合部分只有不透明度有用。


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


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


  • srcATop:将src与dst进行组合,但只组合src和dst重合部分,不重合部分显示dst


  • dstATop:将src与dst进行组合,但只组合src和dst重合部分,不重合部分显示src


  • xor:显示src和dst不重合部分,重合部分不显示


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


  • modulate: 将src和dst重叠部分混合,使混合部分颜色相乘,这只能导致相同或更深的颜色(乘以白色,1.0,结果没有变化;乘以黑色,得到黑色)。当合成两个不透明的图像时,其效果类似于将屏幕上的两个透明度重叠。如果src或dst考虑透明度,可以使用[multiply]


  • screen: 将src图像和dst图像的分量的倒数相乘,并将结果的倒数相乘。反转组件意味着将完全饱和通道(不透明的白色)视为值0.0,而通常将值0.0(黑色、透明)视为值1.0。这与[modulate]混合模式本质上是相同的,但是在乘法运算之前颜色的值是倒过来的,在渲染之前结果是倒过来的。这只能导致相同或更浅的颜色(乘以黑色,1.0,结果没有变化;乘以白色,0.0,结果是白色)。同样,在alpha通道中,它只能产生更不透明的颜色。这与两个同时在同一屏幕上显示图像的投影仪有相似的效果。


  • overlay:将src图像和dst图像的组件相乘,然后调整它们以适应dst。具体来说,如果dst值更小,则将其与src值相乘,而src值更小,则将src值的倒数与dst值的倒数相乘,然后将结果相乘。反转组件意味着将完全饱和的通道(不透明的白色)视为值0.0,而通常将值0.0(黑色、透明)视为值1.0。


  • darken:通过从每个颜色通道中选择最小值来组合源图像和目标图像。输出图像的不透明度计算方法与[srcOver]相同。


  • lighten: 通过从每个颜色通道中选择最大值来组合源图像和目标图像。输出图像的不透明度计算方法与[srcOver]相同。


  • colorDodge:用src的倒数除以dst。反转组件意味着将完全饱和通道(不透明的白色)视为值0.0,而通常将值0.0(黑色、透明)视为值1.0。


  • colorBurn:用dst函数的倒数除以src函数的倒数,然后求结果的倒数。反转组件意味着将完全饱和通道(不透明的白色)视为值0.0,而通常将值0.0(黑色、透明)视为值1.0。


  • hardLight:将src图像和dst图像的组件相乘,然后对它们进行调整,使之有利于src。具体来说,如果src值更小,则将其与dst值相乘,而如果dst值更小,则将dst值的倒数与src值的倒数相乘,然后将结果相乘。反转组件意味着将完全饱和通道(不透明的白色)视为值0.0,而通常将值0.0(黑色、透明)视为值1.0。


  • softLight: 对于小于0.5的src值使用[colorDodge],对于大于0.5的src值使用[colorBurn]。这导致了与[overlay]相似但更柔和的效果。


  • difference: 从每个通道的大值中减去小值。合成黑色没有效果;合成白色使另一幅图像的颜色相反。输出图像的不透明度计算方法与[srcOver]相同。这种影响类似[exclusion],但更为严重。


  • exclusion:从两个图像的和中减去两个图像的乘积的两倍。合成黑色没有效果;合成白色使另一幅图像的颜色相反。输出图像的不透明度计算方法与[srcOver]相同。效果类似[difference],但更柔和。


  • multiply:将src图像和dst图像的组件相乘,包括alpha通道。这只能导致相同或更深的颜色(乘以白色,1.0,结果没有变化;乘以黑色,得到黑色)。由于alpha通道也是相乘的,在一个图像中一个完全透明的像素(不透明度0.0)会导致输出中一个完全透明的像素。这与[dstIn]很相似,但是颜色混合了。如果src和dst都没有透明度,则可以使用[modulate]


  • hue:取src图像的色调,以及dst图像的饱和度和亮度。其效果是将dst图像与src图像着色。输出图像的不透明度计算方法与[srcOver]相同。在src图像中完全透明的区域从dst图像中获取它们的色调。


  • saturation:取src图像的饱和度,以及dst图像的色调和亮度。输出图像的不透明度计算方法与[srcOver]相同。在src图像中完全透明的区域从dst图像中获取饱和度。


  • color:取src图像的色调和饱和度,以及dst图像的亮度。其效果是将dst图像与src图像着色。输出图像的不透明度计算方法与[srcOver]相同。在src图像中完全透明的区域从dst图像中获取它们的色调和饱和度。


  • luminosity:取src图像的亮度,以及dst图像的色调和饱和度。输出图像的不透明度计算方法与[srcOver]相同。在src图像中完全透明的区域从dst图像中获取亮度


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,332评论 5 475
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,930评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,204评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,348评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,356评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,447评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,862评论 3 394
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,516评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,710评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,518评论 2 318
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,582评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,295评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,848评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,881评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,121评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,737评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,280评论 2 341

推荐阅读更多精彩内容