找回密码
 立即注册
搜索
查看: 2447|回复: 22

[求助] 这种画有没有名字?有没有公式画法?

[复制链接]
     
发表于 2015-2-14 02:43 | 显示全部楼层 |阅读模式
http://gelbooru.com/index.php?page=post&s=list&tags=evil_smile+tasogare_otome_x_amnesia
抱歉没法贴图.请点开链接后再点开图
应该是利用了像素丢失?但存都没法存是什么原理...
回复

使用道具 举报

头像被屏蔽
发表于 2015-2-14 03:04 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2015-2-14 03:14 | 显示全部楼层
这个……不就是普通的网点么
跟网印的户外广告牌一个原理,和上世纪漫画作画的网点纸也很像,月刊少女有介绍过
这张图应该只是拿了个白色波点的图层罩在黑白原图上,仔细放大能看出来的

——— 来自Stage1st Reader For iOS
回复

使用道具 举报

     
发表于 2015-2-14 03:15 | 显示全部楼层
差评,一点都不吓人。
回复

使用道具 举报

     
发表于 2015-2-14 03:32 | 显示全部楼层
大半夜的吓一跳,这样不好。
回复

使用道具 举报

头像被屏蔽
发表于 2015-2-14 07:09 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2015-2-14 09:50 | 显示全部楼层
万年僵尸 发表于 2015-2-14 07:09
不标吓人内野见。

我书读的少,Fol'nd me是什么写法啊?

FOUND ME啦。
回复

使用道具 举报

发表于 2015-2-14 11:27 | 显示全部楼层
能存下来的 存下来看更明显
在缩略图中显出的那副图是绘制在格子的线条上的 而那副吓人的是绘制在格子中的
但是很奇怪的是 CHROME中打开这张图就几乎只能看到格子中的 而WINDOWS自带的图片浏览器打开就几乎只能看到格子的线条上的
这是啥原理还不太理解
回复

使用道具 举报

     
 楼主| 发表于 2015-2-14 11:35 | 显示全部楼层
deadbeef 发表于 2015-2-14 11:27
能存下来的 存下来看更明显
在缩略图中显出的那副图是绘制在格子的线条上的 而那副吓人的是绘制在格子中的
...

你那存下来的图片是吓人的那副吗?
我这怎么弄都是萌萌的学姐
回复

使用道具 举报

发表于 2015-2-14 11:37 | 显示全部楼层
biye 发表于 2015-2-14 11:35
你那存下来的图片是吓人的那副吗?
我这怎么弄都是萌萌的学姐

粗看是萌萌那副 但是仔细看白色的部分 能看到吓人那副的影子
放大后仔细看 发现吓人那副是被画在格子中间的 而萌萌的那副是格子的线条上

不理解的是 为何CHROME中 格子中间的部分色阶差别明显 而在WINDOWS的图片浏览器中则相反是格子线条上的

你把你保存的那副直接拖到CHROME浏览器的窗口里 就能显示出吓人的那副了
说明不是图片文件本身的问题
是WINDOWS图片浏览器和CHROEM显示图片的方式有些区别
回复

使用道具 举报

发表于 2015-2-14 11:42 | 显示全部楼层
打不开差评。
回复

使用道具 举报

发表于 2015-2-14 12:01 | 显示全部楼层
win8的windows photo viewer看到的就是格子中的,IrfanView就是线条上的
应该是不同软件取样算法不同吧……
回复

使用道具 举报

发表于 2015-2-14 12:36 | 显示全部楼层
刚才以为是不同软件渲染方式不同导致的 于是拿程序稍微处理了下图片 用了不同的滤镜渲染了下 但是都达不到效果
于是仔细看了下CHROME里显示出来的图片 原本偏白的(223,224,224)的格线也显示出很明显的黑色 这说明似乎不是渲染的问题

于是拿程序简单的只是导入图片 再导出保存 发现保存出来的图片再拖到CHROME里就显示不出吓人的图片了

再结合楼上说的8.1的已经能看到吓人效果了
推测应该是最近几年PNG更新了什么新的功能 而老WINDOWS的图片浏览器并未支持
并且大多图片处理库也不支持 比如PHP的 因此使用PHP简单的做图片缩略图的时候 就是原图的效果
回复

使用道具 举报

     
发表于 2015-2-14 12:48 | 显示全部楼层
画完加个滤镜就这样
回复

使用道具 举报

发表于 2015-2-14 13:22 | 显示全部楼层
P站也有一副这样的,画师/ID我忘了。是一张颜色偏暖色的图,一点大图就变灾难了。
回复

使用道具 举报

发表于 2015-2-14 14:42 | 显示全部楼层
研究了半天 结论终于出来了
起作用的是gAMA chunk

在PNG的标准描述里是这样说的:
PNG定义了两种类型的数据块:一种是PNG文件必须包含、读写软件也都必须要支持的关键块(critical chunk);另一种叫做辅助块(ancillary chunks),PNG允许软件忽略它不认识的附加块。这种基于数据块的设计,允许PNG格式在扩展时仍能保持与旧版本兼容。

关键块在标准中仅有:
IHDR PLTE IDAT IEND
这4种 也就是说 除了这4种以外 其他块图片软件都可以选择忽略 其中就包括 gAMA块

gAMA块的作用是定义图像亮度的GAMA校准信息
在原始图片中有一个0.01的伽玛校准 是一个非常偏离常理的值
其效果就会导致图片中的色阶偏白处的色差会变的非常大 而色阶偏黑处的色差则会变的非常小
形象说的话就是 淡淡的发白的图像会变得非常显眼 而普通的图像则会变成一片黑

也就是说这幅图的魔术并不在于格子 而在于这个GAMA校准 使得原本泛白的隐藏图片显现出来了 而使得原本格子线上的图片变成了一片黑

而对于一些简便处理的软件 是不支持gAMA块的解析的 比如PHP的缩略图模块
因此背景上淡淡泛白的隐藏图片并不会因为GAMA校准显现出来 只能看到格子线上的正常图片


话说……在今天一个人研究这玩意这才觉得也真是寂寞的蛋疼……
回复

使用道具 举报

头像被屏蔽
     
发表于 2015-2-14 14:44 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

头像被屏蔽
     
发表于 2015-2-14 14:45 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

头像被屏蔽
     
发表于 2015-2-14 15:10 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2015-2-14 16:18 来自手机 | 显示全部楼层
实际上ps真的不认部分附带信息tga的伽玛也是这样

----发送自 Oneplus One,Android 4.4.4
回复

使用道具 举报

发表于 2015-2-14 16:56 | 显示全部楼层
本帖最后由 deadbeef 于 2015-2-14 17:09 编辑

PS啥情况我不懂 我也不会画画所以没用过这东西 但是至少从规范上来说 PS不认这个块也是符合规范的
为了证明我的设想是正确的 我试着写了个程序作出这种效果
以下成品图

图床自己转出的缩略图:


因为我不会画画或者P图 所以图是网上随手找的
本来想找黑白点阵图的 因为做如此大系数的GAMA补正会对颜色信息丢失严重 最理想的就是黑白点阵图
但是找不到好看的 所以就随手找了2张普通的黑白图 作者什么的我真的没注意 若有侵权还请见谅

程序是用PYTHON写的 引用了PIL库
代码如下

  1. from PIL import Image as _im
  2. from PIL import ImageFilter as _if
  3. from PIL import PngImagePlugin as _png

  4. def combine(w_src_n, b_src_n, dst_n):
  5.     w_src = _im.open(w_src_n).conv**('L')
  6.     b_src = _im.open(b_src_n).conv**('L')
  7.     size = map(lambda x:min(*x), zip(w_src.size, b_src.size))
  8.     dst = _im.new('L', size)
  9.     for x in range(0, size[0]):
  10.         for y in range(0, size[1]):
  11.             if x%3 and y%3:
  12.                 if x < w_src.size[0] and y < w_src.size[1]:
  13.                     s = pow(w_src.getpixel((x, y))/255., 0.01)*255.
  14.                 else:
  15.                     s = 255.
  16.             else:
  17.                 if x < w_src.size[0] and y < w_src.size[1]:
  18.                     s = b_src.getpixel((x, y))
  19.                 else:
  20.                     s = 255.
  21.             dst.putpixel((x, y), s)
  22.     info = _png.PngInfo()
  23.     info.add('gAMA', b'\x00\x00\x03\xe8')
  24.     dst.save(dst_n, pnginfo = info)

  25. if __name__ == '__main__':
  26.     combine('a8a26f12.png', 'a6c6ad81.png', 'dst.png')
复制代码
有兴趣的也可以自己去试试

代码里被屏蔽成conv**的是conv e r t
连代码引用里都敏感词屏蔽也是吊
回复

使用道具 举报

     
 楼主| 发表于 2015-2-14 17:41 | 显示全部楼层
公式画法指示按简单规则按部就班就能完成的画法

还有膜拜一下楼上的研究精神
回复

使用道具 举报

发表于 2015-2-15 06:54 | 显示全部楼层
LSS好棒,精鹅。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2025-8-19 02:19 , Processed in 1.143630 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表