2017-10-28 240 views

回答

3

我可以告诉你如何做到这一点的ImageMagick的Unix命令行语法。基本想法是在衬衫和平铺图案之间使用硬光。

第一步是修剪你的图案图像周围的衣衫褴褛的边框。所以我手动裁剪它看起来如下以使它能够不用衣衫褴褛的边框显示平铺:

enter image description here

当您使用-compose强光,效果最好,如果图像的平均颜色为中灰(50%)。所以,第一件事是让灰阶平均值和中灰的区别:

mean=`convert shirt.png -scale 1x1! -alpha off -format "%[fx:100*mean]\n" info:` 
diff=`convert xc: -format "%[fx:50-$mean)]" info:` 
echo "mean=$mean; diff=$diff;" 

mean=86.9006; diff=-36.9006; 

注:以上方法只能得到不透明衬衫的平均灰度和忽略的透明区域。

接下来,您需要删除Alpha通道并保存以备后用。然后修改没有Alpha通道的图像,通过加回所需的差值使其达到中灰度。然后,您需要修改对比度以增加皱纹,以显示皱纹的阴影。

convert shirt.png -alpha extract mask.png 

enter image description here

convert shirt.png -alpha off -evaluate add $diff% -sigmoidal-contrast 10,50% shirt_mod.png 

enter image description here

然后你平铺了一个调整大小的图案,使图案更密集的比你原来的。最后与hardlight合成,并将面罩放回Alpha通道。

convert shirt_mod.png \ 
\(-clone 0 -resize 400% -tile pattern.png -draw "color 0,0 reset" -resize 25% \) \ 
-compose hardlight -composite \ 
mask.png -alpha off -compose copy_opacity -composite \ 
shirt_pattern.png 

enter image description here

注意,有很多方法平铺出模式,以填补一些图像尺寸。请参阅http://www.imagemagick.org/Usage/canvas/#tile

+0

很好,谢谢。 任何想法如何使用PHP做到这一点?这些表扬的所有相关功能都将在PHP中提供? –

+0

生成的图像颜色比较浅 https://ibb.co/fLt3Am –

1

您可以在创建平铺图像时使用-modulate亮度,饱和度,色调来更改亮度。没有改变的默认值是100.所以如果你想降低亮度从100降低。-modulate还允许你改变颜色的饱和度,甚至色调。如果图案更加紧密,它可能也会有所帮助,更像你的。所以我改变了调整大小的参数。

所以使用相同的命令,在我以前的帖子,但改变的最后一个如下

亮度= 95

convert shirt_mod.png \ 
\(-clone 0 -resize 500% -tile pattern.png -draw "color 0,0 reset" -resize 20% -modulate 95,100,100 \) \ 
-compose hardlight -composite \ 
mask.png -alpha off -compose copy_opacity -composite \ 
shirt_pattern1.png 

enter image description here

亮度= 90

convert shirt_mod.png \ 
\(-clone 0 -resize 500% -tile pattern.png -draw "color 0,0 reset" -resize 20% -modulate 90,100,100 \) \ 
-compose hardlight -composite \ 
mask.png -alpha off -compose copy_opacity -composite \ 
shirt_pattern2.png 

enter image description here

根据需要调整调整大小和亮度。

+0

WOW, -modulate 65,100,100 working,Thanks 有没有什么办法可以让你直接满足你?我有几个问题,我想你是很合适的人问:) –

+0

我能在下面的图片 https://www.suitposh.com/shirts/65_9ab1395ae1c4d012f36e4b5f90ec6cc5.jpg 与 的https: //suitposh.s3.amazonaws.com/images/products/57361-ebc9d0abc90ad228796e448e7e70430598ba279d-original.jpg 使用相同的图案 –

+1

您没有显示任何图案图像用于放入衬衫。查看我的网站获取我的直接联系信息。 http://www.fmwconcepts.com/imagemagick/index.html。如果我的回答对你有帮助,请考虑给我的第二篇文章加分。 – fmw42