colorMethod(枚举) - Lucky-Koishi/KoishiExAPI GitHub Wiki

声明

namespace Koishi;
└enum colorMethod;

描述

  该枚举表示颜色(或像素矩阵)进行混合的算法。混合模式即Photoshop里所列出的混合模式,详情可以参照维基百科Blend Mode
  colorMethod对象通常用于执行两个像素矩阵进行叠加(或拼合)的方式。例如:以下代码用于将图层1铺在图层2上,使用线性减淡混合模式:

matrix layer1, layer2;
layer1.loadPNG("OBJ.PNG");
layer2.loadPNG("BKG.PNG");
layer2.putFore(layer1, LINEARDODGE);
layer2.savePNG("OBJ on BGK.PNG");

  colorFormat枚举中包含的值如下表所示:

元素 整型值 描述
LAY 0 覆盖,混合方式:m(a,b)=a。
DARKEN 1 变暗,混合方式:m(a,b)=MIN(a,b)。
MULTIPLY 2 正片叠底,混合方式:m(a,b)=ab。
COLORBURN 3 颜色加深,混合方式:m(a,b)=(a+b-1)/b。
LINEARBURN 4 线性加深,混合方式:m(a,b)=a+b-1。
LIGHTEN 5 变亮,混合方式:m(a,b)=MAX(a,b)。
SCREEN 6 滤色,混合方式:m(a,b)=a+b-ab。
COLORDODGE 7 颜色减淡,混合方式:m(a,b)=a/(1-b)。
LINEARDODGE 8 线性减淡,混合方式:m(a,b)=a+b。
OVERLAY 9 叠加,混合方式:a<0.5时,m(a,b)=2ab;否则m(a,b)=2(a+b-ab)-1。
HARDLIGHT 10 强光,混合方式:b<0.5时,m(a,b)=2ab;否则m(a,b)=2(a+b-ab)-1。
SOFTLIGHT 11 柔光,混合方式:b<0.5时,m(a,b)=2ab+a²(1-2b);否则m(a,b)=2a(1-b)+√a(2b-1)。
VIVIDLIGHT 12 亮光,混合方式:b<0.5时,m(a,b)=(a-1)/2b+1;否则m(a,b)=a/2(1-b)。
LINEARLIGHT 13 线性光,混合方式:m(a,b)=a+2b-1。
PINLIGHT 14 点光,混合方式:b<0.5时,m(a,b)=MIN(a,2b);否则m(a,b)=MIN(a,2b-1)。
HARDMIX 15 实色混合,混合方式:a+b≥1时,m(a,b)=1,否则为0。
DIFFER 16 差值,混合方式:m(a,b)=│a-b│。
EXCLUSION 17 排除,混合方式:m(a,b)=a+b-2ab。

参见

  color类matrix类mixMethod()putFore()putBack()

⚠️ **GitHub.com Fallback** ⚠️