【发布时间】:2014-06-09 23:38:50
【问题描述】:
我决定将我的头像更改为圆形。我在我的博客上使用 css 将它循环,并且更喜欢这种效果,因此决定使用一些 imagemagick 为我的图像提供一个圆形的 alpha 通道(这样我也可以在 SO 上使用它,等等)。几个快速命令后我被排序:
# crop to square 422x422 with 0x0 offset
convert mike_gravatar.jpeg -crop 422x422+0+0 mike_gravatar_square.jpeg
# give circular alpha channel around it NOTE this is for a 422x422 image (note the 211x211)
convert mike_gravatar_square.jpeg \( +clone -threshold -1 -negate -fill white -draw "circle 211,211,211,0" \) -alpha off -compose copy_opacity -composite mike_gravatar_circle.png
太棒了,现在我们把它上传到 gravatar,我将有一个漂亮的圆形裁剪图像,一切都会很好。
正如您可能从问题中猜到的那样,一切都不好:
好吧,我一定是我的 imagemagick 搞砸了,没有检查前后图像是否相同,重新打开一个并排的图像,看看它们确实是相同的。我尝试再次上传到 gravatar 并注意到它们似乎在“裁剪”阶段之后处理图像,这是文件上传后在浏览器中的样子(在裁剪弄乱之前):
好吧,让我们做一些挖掘,其他人之前一定偶然发现过这个,所以我环顾四周并one lone soul in a desolate forum wasteland cries out。现在对此没有任何回应,但是相关的文字在这里:
似乎如果将照片或图片上传到 Gravatar 的裁剪器 没有深黑色,它会自动将最接近的灰色调平为黑色 并使整个图像变暗,包括将白色变暗为灰色。能 确认任何具有灰色背景的 PNG 图像都会出现这种情况 或者有足够大的比例,不管它有没有 255 白人,不管它是否有阿尔法混合
看来我可以通过添加一个黑色像素来解决这个问题,这听起来不错,所以我尝试添加一个黑色像素,然后添加一个黑色和一个白色像素,结果:
所以基本上现在我没有想法了:
- 有谁知道 gravatar 的后处理功能是什么,所以我可以撤消它或通过预处理来抵消它的影响?
- 此“功能”是否记录在任何地方,或者可以关闭或绕过?
我认为预处理图像以抵消他们对其所做的变暗会很酷,但这需要确切地知道他们做了什么才能改变事物,显然这可能是不可能的(取决于每种颜色,我想)
编辑:
我尝试制作一个反转图像,看看它是基于平均值还是极值进行处理并且也变暗了,似乎它更有可能是平均值:
【问题讨论】:
标签: imagemagick gravatar