我刚刚成功创建了一个作物 :) 虽然并不完美,但它应该可以在 android 或 iphone/ipad 中使用。
基本上我使用了一个 js 绘图工具来标记坐标,将所有这些坐标保存在某个地方。
然后使用imagemagick的坐标,看起来虽然IM并没有真正裁剪奇怪的形状,但是它可以使用'mask'通过组合模板来转换照片的背景(我们使用我们的坐标绘制线条,填充背景#000000 颜色)和原始照片。
结果应该是我们正在寻找的作物:) 现在我们添加了一些羽毛,因为它有点前卫。所有这一切都使用 imagemagick。
现在我们需要的只是曲线,因为我在 IM 中使用了“路径”,它并不能真正提供平滑的裁剪。有人建议使用“三次曲线”,但可能需要额外的编码,因为它需要每个坐标的一些参数。
这个命令将创建我们的模板(一长串数字是我们的坐标):
convert -size 450x125 xc:black -fill white -stroke black -draw "path 'M +60+9 +94+18 +96+19 +84+27 +92+36 +97+43 +103+56 +102+58 +109+66 +109+74 +101+68 +98+76 +98+84 +95+88 +98+91 +106+95 +110+99 +111+103 +99+106 +89+108 +73+112 +56+109 +40+109 +26+103 +37+97 +46+91 +48+88 +39+80 +36+71 +32+78 +27+72 +30+61 +35+55 +42+41 +30+37 +40+24 +51+14 +156+9 +197+6 +236+8 +269+16 +265+36 +248+50 +222+52 +213+35 +198+24 +174+18 +155+13 +60+9'" stencil.gif
然后我们将模板与原始图像结合起来(这应该会带出我们的透明“裁剪”):
convert original.jpg stencil.gif -alpha off -compose CopyOpacity -composite combined.png
最后我们羽化边缘:
convert combined.png -alpha set -virtual-pixel transparent -channel A -blur 0x0.7 -level 50,100% +channel -background none -flatten final.png
这就是它现在的工作方式:https ://lh6.googleusercontent.com/_2lSoW37_zqo/TYCD65Vu4zI/AAAAAAAAEcc/vjlCPM54FTI/s800/theoryinpractice.jpg
就是这样,我希望这对某人有所帮助。