灰度转刮网图层的办法

2023-04-07

image-20230406234230919

上面的示例效果为 国际素材站 id=1993987 的素材使用例

灰度自动转刮网图层的办法(图层123为由上至下顺序)

  • 图层1image-20230406234432035

    • 不透明度为1
    • 显色为灰度模式
    • 图层模式为 Hard Mix (日语: ハードミックス, 简中: 实色混合)

    • 该图层相当于一系列图层的正常模式叠成(从上到下):

      • 最黑的刮网层
      • 中间灰度的刮网层
      • 较浅色的刮网层
      • 白色填充图层
    • 上述各刮网层间内容相互不同, 图层内的网点自洽(并且美观)

  • 图层2image-20230406234529982

    • 描画用的图层, 图层1和图层3的作用就是把图层2的灰度变成符合图层1设定的刮网
    • 因为有图层3的存在, 所以图层2的不透明度无所谓
    • 图层2显色为灰度模式
    • 图层2的图层模式为 Normal (日语: 通常, 简中: 正常)
  • 图层3

    • 纯白
    • 不透明度为1

原因

实色混合的效果就是, 图层1和图层2的白度加起来不够白就会显示黑色, 够白了就会显示白色

AnyScanner_04_07_2023 0

准确一点的表示方法:

Hard Mix 的图层效果如下

图层 内容 图层模式 单点灰度(黑=0,白=255) 单点不透明度\(\in(0,1)\) 最后显色
图层1 刮网效果(灰度) Hard Mix \(x_1\) \(\alpha_1\) \(x_\text{result}\)
图层2 想要表现的灰度 Normal \(x_2\) \(\alpha_2\)
图层3 纯白 Normal \(255\) \(1\)

计算过程

\(x_h\) denotes hard mix operation color

\[x_h = \left\{ \begin{array}{rcl} 0 & & {x_1+x_2< 255}\\ 255 & & \text{otherwise} \end{array} \right.\]

\(x_h\) 一定为黑色或者白色

the result color \(x_\text{result}\) is

\[x_\text{result} = x_h \times \alpha_1 +x_2 \times (1-\alpha_1)\]

所以如果想要最后表现出黑白色, 而没有来自图层2中的灰度的话, \(\alpha_1\)必须为\(1\), 此时\(x_\text{result}=x_h\)

  • 图层1不能有透明的部分

图层1应该由怎么样的成分构成?

图层 内容 图层模式 单点透明度\(\in(0,1)\) 单点灰度例子1 单点灰度例子2
图层1 刮网效果(灰度) Hard Mix \(1\) 深灰色 ■■■\(x_1=255\times 0.25\) 深灰色 ■■■\(x_1=255\times 0.25\)
图层2 想要表现的灰度 Normal 随意\(\in(0,1)\) 浅灰色 ■■■\(x_2=255\times0.75\) 中灰色 ■■■\(x_2=255\times0.5\)
图层3 纯白 Normal \(1\) \(255\) \(255\)
最后显色 \(1\) 白色 ■■■ \(x_h=255\) 黑色 ■■■ \(x_h=0\)