Skip to content

Commit 3b847e7

Browse files
committed
Update
1 parent 5ad05a6 commit 3b847e7

1 file changed

Lines changed: 19 additions & 72 deletions

File tree

CustomView/Base/[3]Color.md

Lines changed: 19 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -107,78 +107,25 @@ PicPick具备了截取全屏、活动窗口、指定区域、固定区域、手
107107

108108
下表是各个PorterDuff模式的混合计算公式:(D指原本在Canvas上的内容dst,S指绘制输入的内容src,a指alpha通道,c指RGB各个通道)
109109

110-
<table class="confluenceTable">
111-
<tbody>
112-
<tr>
113-
<td class="confluenceTd">ADD&nbsp;</td>
114-
<td class="confluenceTd">Saturate(S + D) &nbsp;</td>
115-
</tr>
116-
<tr>
117-
<td class="confluenceTd">CLEAR&nbsp;</td>
118-
<td class="confluenceTd">[0, 0] &nbsp;</td>
119-
</tr>
120-
<tr>
121-
<td class="confluenceTd">DARKEN&nbsp;</td>
122-
<td class="confluenceTd">[Sa + Da - Sa*Da, Sc*(1 - Da) + Dc*(1 - Sa) + min(Sc, Dc)] &nbsp;</td>
123-
</tr>
124-
<tr>
125-
<td class="confluenceTd">DST&nbsp;</td>
126-
<td class="confluenceTd">[Da, Dc] &nbsp;</td>
127-
</tr>
128-
<tr>
129-
<td class="confluenceTd">DST_ATOP&nbsp;</td>
130-
<td class="confluenceTd">[Sa, Sa * Dc + Sc * (1 - Da)] &nbsp;</td>
131-
</tr>
132-
<tr>
133-
<td class="confluenceTd">DST_IN&nbsp;</td>
134-
<td class="confluenceTd">[Sa * Da, Sa * Dc] &nbsp;</td>
135-
</tr>
136-
<tr>
137-
<td class="confluenceTd">DST_OUT&nbsp;</td>
138-
<td class="confluenceTd">[Da * (1 - Sa), Dc * (1 - Sa)] &nbsp;</td>
139-
</tr>
140-
<tr>
141-
<td class="confluenceTd">DST_OVER&nbsp;</td>
142-
<td class="confluenceTd">[Sa + (1 - Sa)*Da, Rc = Dc + (1 - Da)*Sc] &nbsp;</td>
143-
</tr>
144-
<tr>
145-
<td class="confluenceTd">LIGHTEN&nbsp;</td>
146-
<td class="confluenceTd">[Sa + Da - Sa*Da, Sc*(1 - Da) + Dc*(1 - Sa) + max(Sc, Dc)] &nbsp;</td>
147-
</tr>
148-
<tr>
149-
<td class="confluenceTd">MULTIPLY&nbsp;</td>
150-
<td class="confluenceTd">[Sa * Da, Sc * Dc] &nbsp;</td>
151-
</tr>
152-
<tr>
153-
<td class="confluenceTd">SCREEN&nbsp;</td>
154-
<td class="confluenceTd">[Sa + Da - Sa * Da, Sc + Dc - Sc * Dc] &nbsp;</td>
155-
</tr>
156-
<tr>
157-
<td class="confluenceTd">SRC&nbsp;</td>
158-
<td class="confluenceTd">[Sa, Sc] &nbsp;</td>
159-
</tr>
160-
<tr>
161-
<td class="confluenceTd">SRC_ATOP&nbsp;</td>
162-
<td class="confluenceTd">[Da, Sc * Da + (1 - Sa) * Dc] &nbsp;</td>
163-
</tr>
164-
<tr>
165-
<td class="confluenceTd">SRC_IN&nbsp;</td>
166-
<td class="confluenceTd">[Sa * Da, Sc * Da] &nbsp;</td>
167-
</tr>
168-
<tr>
169-
<td class="confluenceTd">SRC_OUT&nbsp;</td>
170-
<td class="confluenceTd">[Sa * (1 - Da), Sc * (1 - Da)] &nbsp;</td>
171-
</tr>
172-
<tr>
173-
<td class="confluenceTd">SRC_OVER&nbsp;</td>
174-
<td class="confluenceTd">[Sa + (1 - Sa)*Da, Rc = Sc + (1 - Sa)*Dc] &nbsp;</td>
175-
</tr>
176-
<tr>
177-
<td class="confluenceTd">XOR&nbsp;</td>
178-
<td class="confluenceTd">[Sa + Da - 2 * Sa * Da, Sc * (1 - Da) + (1 - Sa) * Dc] &nbsp;</td>
179-
</tr>
180-
</tbody>
181-
</table>
110+
混合模式 | 计算公式
111+
:------- | :---------
112+
ADD | Saturate(S + D)
113+
CLEAR | [0, 0]
114+
DARKEN | [Sa + Da - Sa*Da, Sc*(1 - Da) + Dc*(1 - Sa) + min(Sc, Dc)]
115+
DST | [Da, Dc]
116+
DST_ATOP | [Sa, Sa * Dc + Sc * (1 - Da)]
117+
DST_IN | [Sa * Da, Sa * Dc]
118+
DST_OUT | [Da * (1 - Sa), Dc * (1 - Sa)]
119+
DST_OVER | [Sa + (1 - Sa)*Da, Rc = Dc + (1 - Da)*Sc]
120+
LIGHTEN | [Sa + Da - Sa*Da, Sc*(1 - Da) + Dc*(1 - Sa) + max(Sc, Dc)]
121+
MULTIPLY | [Sa * Da, Sc * Dc]
122+
SCREEN | [Sa + Da - Sa * Da, Sc + Dc - Sc * Dc]
123+
SRC | [Sa, Sc]
124+
SRC_ATOP | [Da, Sc * Da + (1 - Sa) * Dc]
125+
SRC_IN | [Sa * Da, Sc * Da]
126+
SRC_OUT | [Sa * (1 - Da), Sc * (1 - Da)]
127+
SRC_OVER | [Sa + (1 - Sa)*Da, Rc = Sc + (1 - Sa)*Dc]
128+
XOR | [Sa + Da - 2 * Sa * Da, Sc * (1 - Da) + (1 - Sa) * Dc]
182129

183130
用示例图来查看使用不同模式时的混合效果如下(src表示输入的图,dst表示原Canvas上的内容):
184131

0 commit comments

Comments
 (0)