论如何发隐藏的福利

幻影坦克这玩意儿估计大家都很熟悉了,尤其是贴吧。原本白色的网页上什么也没有,但点开大图却是另有天地,这是怎么做到的呢?我们从最简单出发,从原理开始,来制作自己的“幻影坦克”。

注意:幻影坦克虽然有意思,但请不要随意开车(各种意义上的)

制作最简单的幻影坦克

幻影坦克的图片肯定得是png格式的,因为另一个常用格式jpg是没有透明度的。

幻影坦克的基本原理在于,图片本身是一个与网页背景色相同的透明度通道。还是拿贴吧举栗子,贴吧页面,包括大部分网页,都是纯白色的底色。而幻影坦克图片同样也是纯白一片的,不同的是,幻影坦克的图片在画面不同的地方有着透明的部分。在以白色为背景的时候,透过来的还是白色,于是图片就看起来一片白,仿佛什么也没有;但若是点开查看大图,此时由于背景变为了纯黑色,于是背景中的黑色就透过了幻影坦克中透明的部分,显示出了图片中“隐藏”的内容。

综上所述,幻影坦克其实是背景颜色+图片共同作用的结果,因此我们在不同的场景使用幻影坦克的时候,也需要根据使用环境的颜色做出相应的调整。这也是大部分的幻影坦克都是黑白的原因:毕竟就黑白两张背景颜色,也玩不出太多花样。至于有点颜色的,我们在后面的高级篇再谈。

说了这么多,我们就以一张穹妹的图为例,开始制作一张最简单的单色幻影坦克吧:

step 1

打开一张图片,图像 > 调整 > 去色(Shift + Ctrl + U),把图片转换成黑白的。转换黑白的方法有很多,去色实际上是“去饱和度”,这里这样用就是图个方便,其他方法就不一一阐述了。

step 2

切换到通道,由于使用了去色,也就是去饱和度,此时RGB三个通道实际上是完全一样的,任选一个 Ctrl + 鼠标右键 选中:

然后回到图层,对选区 右键 > 通过拷贝的图层

这样我们就得到了这样的一个图层:

这一步是制作幻影坦克的核心步骤。

前面说到,我们对图片去饱和以后,RGB三个通道就是完全一样的了,这是因为去饱和以后,使得图片任意像素RGB都是等量的,因此我们对任意通道进行选择都是可以的。

然后我们对通道进行选取,然后在图层上拷贝的实质,其实是通过颜色通道来获得黑白图片的透明度的关系。从结果来说,选中的部分是白色(亮色)部分,未选中的部分(透明部分)即是黑色(暗色)部分。这个选区实际上包含了我们的幻影坦克的图片的全部信息,明白了这个,就能用幻影坦克玩出各种花样了。通过拷贝的图层只是给这个选区一个载体,这样做同样也是因为简单方便。新建一个图层,对选区内填充白色也能达到接下来step 3的效果,这里也就不详细解说了。

step 3

好了,我们继续。我们通过选区copy了一个图层,但这显然是不能直接拿来用的,因为这个图层还保留了原图的颜色,一眼就能看出端倪,我们还需要对其进行一点小小的处理:

对新的图层 右键 > 混合选项 选中 颜色叠加,颜色为白色(#ffffff)

这一步的意义就是把网页的背景色作为前景色填充到选区中,使得幻影坦克能完美融入到网页的白色背景中,当然有必要也要按实际情况修改。

这样最简单的幻影坦克就制作完成了!把它另存为png格式的图片,拿去发隐藏福利吧!

PS

前面step 2说到,选区才是关键,我们可以通过玩弄选区来玩出各种隐藏福利,比如部分隐藏的幻影坦克啊之类的。

当然有人可能会问,如果网页背景不是白色之类的浅色系,而是深色系呢?

很简单,调整一下选区就行了~选区选取的是通道的亮部,因此填充白色后能与背景融为一体。如果是深色背景的网页,我们将选区反向,然后填充深色背景色就行了~只不过这样做会导致图片明暗会有所变化,不过只要不是纯黑和纯白的底色都必然会导致颜色变化,因为幻影坦克是背景颜色+图片共同作用的结果嘛~这种小细节就不用在意了吧

最后献上一张福利图:

来自p站id=63157973

 

好了幻影坦克基础篇就到这里啦,后面还会有进阶篇和高级篇的哟~

 

研究幻影坦克的时候,也在网上查过其他人的成果,基本都来自贴吧,放在这做参考吧,后面就不再重复写了:

【梗名】幻影坦克 – 来自当事人的叙述

精简而又超详细讲解“幻影坦克”图片效果的制作方法 

【将图层混合发挥到极致】制作不同底色下显示不同内容的图片

【Ps】【转】图层混合原理

最后一篇图层混合原理已经被删了,还好当时保存了一份备用:

展开全部

作者:zhangkaijjjj(贴吧楼主@zcyzcy88有所补充)

Photoshop图层混合模式计算公式大全

关于photoshop的图层混合模式,大家一定都非常熟悉了,我在这里把各种混合模式的计算公式都详细的描述一便,希望能够对大家理解图层的混合模式有所帮助,编写仓促,不足之处请多批评指正。

混合模式可以将两个图层的色彩值紧密结合在一起,从而创造出大量的效果。在这些效果的背后实际是一些简单的数学公式在起作用。下面我将介绍photoshop cs2中所有混合模式的数学计算公式。另外还介绍了不透明度。下面所介绍的公式仅适用于RGB图像。对于Lab颜色图像而言,这些公式将不再适用。

 

Opacity 不透明度

C=d*A+(1-d)*B

相对于不透明度而言,其反义就是透明度。这两个术语之间的关系就类似于正负之间的关系:100%的不透明度就是0%的透明度。该混合模式相对来说比较简单,在该混合模式下,如果两个图层的叠放顺序不一样,其结果也是不一样的(当然50%透明除外)。

该公式中,A代表了上面图层像素的色彩值(A=像素值/255),d表示该层的透明度,B代表下面图层像素的色彩值(B=像素值/255),C代表了混合像素的色彩值(真实的结果像素值应该为255*C)。该公式也应用于层蒙板,在这种情况下,d代表了蒙板图层中给定位置像素的亮度,下同,不再叙述。

 

Darken 变暗

B<=A: C=B B>=A: C=A

该模式通过比较上下层像素后取相对较暗的像素作为输出,注意,每个不同的颜色通道的像素都是独立的进行比较,色彩值相对较小的作为输出结果,下层表示叠放次序位于下面的那个图层,上层表示叠放次序位于上面的那个图层,下同,不再叙述。

 

Lighten 变亮

B<=A: C=A B>A: C=B

该模式和前面的模式是相似,不同的是取色彩值较大的(也就是较亮的)作为输出结果。

 

Multiply 正片叠底

C=A*B

该效果将两层像素的标准色彩值(基于0..1之间)相乘后输出,其效果可以形容成:两个幻灯片叠加在一起然后放映,透射光需要分别通过这两个幻灯片,从而被削弱了两次。

 

Screen 滤色

C=1-(1-A)*(1-B)

也可以写成1-C=(1-A)*(1-B)

该模式和上一个模式刚好相反,上下层像素的标准色彩值反相后相乘后输出,输出结果比两者的像素值都将要亮(就好像两台投影机分别对其中一个图层进行投影后,然后投射到同一个屏幕上)。从第二个公式中我们可以看出,如果两个图层反相后,采用Multiply模式混合,则将和对这两个图层采用Screen模式混合后反相的结果完全一样。

 

Color Dodge 颜色减淡

C=B/(1-A)

该模式下,上层的亮度决定了下层的暴露程度。如果上层越亮,下层获取的光越多,也就是越亮。如果上层是纯黑色,也就是没有亮度,则根本不会影响下层。如果上层是纯白色,则下层除了像素为255的地方暴露外,其他地方全部为白色(也就是255,不暴露)。结果最黑的地方不会低于下层的像素值。

 

Color Burn 颜色加深

C=1-(1-B)/A

该模式和上一个模式刚好相反。如果上层越暗,则下层获取的光越少,如果上层为全黑色,则下层越黑,如果上层为全白色,则根本不会影响下层。结果最亮的地方不会高于下层的像素值。

 

Linear Dodge 线形减淡

C=A+B

将上下层的色彩值相加。结果将更亮。

 

Linear Burn 线形加深

C=A+B-1

如果上下层的像素值之和小于255,输出结果将会是纯黑色。如果将上层反相,结果将是纯粹的数学减。

 

Overlay 叠加

B<=0.5: C=2*A*B B>0.5: C=1-2*(1-A)*(1-B)

依据下层色彩值的不同,该模式可能是Multiply,也可能是Screen模式。

上层决定了下层中间色调偏移的强度。如果上层为50%灰,则结果将完全为下层像素的值。如果上层比50%灰暗,则下层的中间色调的将向暗地方偏移,如果上层比50%灰亮,则下层的中间色调的将向亮地方偏移。对于上层比50%灰暗,下层中间色调以下的色带变窄(原来为0~2*0.4*0.5,现在为0~2*0.3*0.5),中间色调以上的色带变宽(原来为2*0.4*0.5~1,现在为2*0.3*0.5~1)。反之亦然。

 

Hard Light 强光

A<=0.5: C=2*A*B A>0.5: C=1-2*(1-A)*(1-B)

该模式完全相对应于Overlay模式下,两个图层进行次序交换的情况。如过上层的颜色高于50%灰,则下层越亮,反之越暗。

 

Soft Light 柔光

A<=0.5: C=(2*A-1)*(B-B*B)+B A>0.5: C=(2*A-1)*(sqrt(B)-B)+B

该模式类似上层以Gamma值范围为2.0到0.5的方式来调制下层的色彩值。结果将是一个非常柔和的组合。

 

Vivid Light 亮光

A<=0.5: C=1-(1-B)/2*A A>0.5: C=B/(2*(1-A))

该模式非常强烈的增加了对比度,特别是在高亮和阴暗处。可以认为是阴暗处应用Color Burn和高亮处应用Color Dodge。

 

Linear Light 线形光

C=B+2*A-1

相对于前一种模式而言,该模式增加的对比度要弱些。其类似于Linear Burn,只不过是加深了上层的影响力。

 

Pin Light 点光

B<2*A-1: C=2*A-1

2*A-1<B<2*A: C=B B>2*A: C=2*A

该模式结果就是导致中间调几乎是不变的下层,但是两边是Darken和Lighte年模式的组合。

 

Hard Mix 实色混合

A<1-B: C=0 A>1-B: C=1

该模式导致了最终结果仅包含6种基本颜色,每个通道要么就是0,要么就是255。

 

Difference 差值

C=|A-B|

上下层色调的绝对值。该模式主要用于比较两个不同版本的图片。如果两者完全一样,则结果为全黑。

 

Exclusion 排除

C=A+B-2*A*B

亮的图片区域将导致另一层的反相,很暗的区域则将导致另一层完全没有改变。

 

Hue 色相

HcScYc =HASBYB

输出图像的色调为上层,饱和度和亮度保持为下层。对于灰色上层,结果为去色的下层。

 

Saturation 饱和度

HcScYc =HBSAYB

输出图像的饱和度为上层,色调和亮度保持为下层。

 

Color 颜色

HcScYc =HASAYB

输出图像的亮度为下层,色调和饱和度保持为上层。

 

Luminosity 亮度

HcScYc =HBSBYA

输出图像的亮度为上层,色调和饱和度保持为下层。

 

Dissolve 溶解

该模式根本不是真正的溶解,因此并不是适合Dissolve这个称谓,其表现仅仅和Normal类似。其从上层中随机抽取一些像素作为透明,使其可以看到下层,随着上层透明度越低,可看到的下层区域越多。如果上层完全不透明,则效果和Normal不会有任何不同。

 

划分

C=B/A

 

减去

C=B-A (C小于0的话结果为0,如果上层比下层亮,则结果为黑)

 

浅色

比较混合色和基色的所有通道值的总和并显示值较大的颜色。“浅色”不会生成第三种颜色(可以通过“变亮”混合获得),因为它将从基色和混合色 中选取最大的通道值来创建结果色。

 

深色

与浅色相反,比较混合色和基色的所有通道值的总和并显示值较小的颜色。“深色”不会生成第三种颜色(可以通过“变暗”混合获得),因为它将从基色和混合色 中选取最小的通道值来创建结果色。


本文被阅读了:8,114次

作者头像
关于  Ailitonia

正因站在了巨人的肩膀上,才越发觉得自己渺小。不求成为巨人,但求与其同行。 把自己所见所闻,记录下来。

→查看所有由Ailitonia发布的文章