V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dtysky
V2EX  ›  程序员

这种图片是怎样实现的?

  •  
  •   dtysky ·
    dtysky · 2016-09-03 20:12:48 +08:00 · 4645 次点击
    这是一个创建于 2762 天前的主题,其中的信息可能已经有所发展或是发生改变。

    不知如何下手去搜。。。
    是不是和透明通道的渲染算法有关?

    白色背景:

    黑色背景:

    原图:

    13 条回复    2016-09-06 13:03:54 +08:00
    lizon
        1
    lizon  
       2016-09-03 21:01:12 +08:00
    PS 头顶 - 图像 - 模式 - 灰度
    billlee
        2
    billlee  
       2016-09-03 21:06:51 +08:00   ❤️ 1
    在 photoshop 点击「图层」-「图层蒙版」-「从透明区域」可以把 alpha 通道和 RGB 通道分开。
    dtysky
        3
    dtysky  
    OP
       2016-09-03 21:23:11 +08:00
    @lizon
    什么都没有发生。。。


    @billlee
    分离之后又为何会出现正文所述的效果呢?原理是什么?
    CloudnuY
        4
    CloudnuY  
       2016-09-03 21:26:41 +08:00
    原图中白色的地方不一定是白色或者透明
    Hello1995
        5
    Hello1995  
       2016-09-03 22:12:14 +08:00 via iPhone
    billlee
        6
    billlee  
       2016-09-03 22:26:31 +08:00
    @dtysky 我分析不动啊,好像是个非线性方程组
    dtysky
        7
    dtysky  
    OP
       2016-09-03 22:34:43 +08:00
    @Hello1995

    Get it, thanks !
    just4test
        8
    just4test  
       2016-09-03 22:37:33 +08:00   ❤️ 1
    假设这张图是黑白的。对于指定的点,亮度的 rgb 值都是 w ,透明度是 a ;图 1 的最终 rgb 值为 x , 图 2 的最终 rgb 值为 y 。
    那么就是很简单的方程组:
    白底: 1 * a + w = x
    黑底: 0 * a + w = y
    可以看出, w 就是图 2 的原图,而且图 2 每个点的亮度一定低于图 1.
    dtysky
        9
    dtysky  
    OP
       2016-09-03 22:58:16 +08:00
    @just4test

    看了下那个代码,他合成的时候只是单纯吧黑图画到了白图上面。。。只是预览的时候才计算,这就有点迷了。。。

    原理明白了,所以系统渲染的时候黑色背景到白色背景对透明度的影响是一个 0~1 的系数?
    billlee
        10
    billlee  
       2016-09-03 23:08:11 +08:00   ❤️ 1
    @just4test 不透明度 alpha 的规范形式是 out = alpha * in + (1 - alpha) * backgroud.
    loading
        11
    loading  
       2016-09-03 23:16:32 +08:00 via Android
    创意满分
    fishcat
        12
    fishcat  
       2016-09-05 09:56:29 +08:00
    这个是不是老司机开车的新方法
    pysama
        13
    pysama  
       2016-09-06 13:03:54 +08:00
    创意好玩
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3396 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 11:18 · PVG 19:18 · LAX 04:18 · JFK 07:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.