Java 可伸缩剪切掩模

Java 可伸缩剪切掩模,java,php,python,scripting,Java,Php,Python,Scripting,我需要将不同大小的图像剪辑成这样的拼图形状(不是正方形): 我曾考虑过使用Cairo或GD这样的php库实现这一点的可能性,但对这些库几乎没有经验,也没有看到为不同大小的图像创建动态可伸缩的剪切掩码的IMMIDATE解决方案 我正在寻找关于使用哪种服务器端编程语言来完成此任务的指导/提示,最好是解决此问题的方法。GD非常复杂,我听说过关于Image Magick的非常好的东西,其中有PHP版本和PHP.net上的大量文档。但是,并不是所有的web服务器在默认情况下都会安装此功能 如果您选择使用P

我需要将不同大小的图像剪辑成这样的拼图形状(不是正方形):

我曾考虑过使用Cairo或GD这样的php库实现这一点的可能性,但对这些库几乎没有经验,也没有看到为不同大小的图像创建动态可伸缩的剪切掩码的IMMIDATE解决方案


我正在寻找关于使用哪种服务器端编程语言来完成此任务的指导/提示,最好是解决此问题的方法。

GD非常复杂,我听说过关于Image Magick的非常好的东西,其中有PHP版本和PHP.net上的大量文档。但是,并不是所有的web服务器在默认情况下都会安装此功能


如果您选择使用PHP和GD,那么这里的代码可能会有所帮助:

从本质上讲,使用GD需要做的是从特定大小的遮罩开始,然后使用
imagecopyresampled
函数将遮罩图像资源复制到更大或更小的大小。要了解我的意思,请查看上面url中显示的
\u getMaskImage
方法类。输出的工作示例见:


据我所知,通过GD实现的问题是,如果想要实现不同的不透明度级别,您需要一次实现一个像素,因此处理大型图像可能需要几秒钟的时间。对于ImageMagick,情况可能并非如此。

您可以使用GD创建一个具有拼图大小的图像。然后在该图像上复制完整图像并进行右裁剪,以获得图像的正确部分

然后,您可以使用不同的颜色(例如#0f0)动态地为要删除的每个部分着色,然后使用imagecolorallocatealpha使该颜色透明。对每一个片段都执行此操作,您就拥有了服务器端映像片段

然而,如果我在你的位置,我会创建每个拼图和平事先在不同的颜色剪辑面具。这将为每个连接生成两个图像(一个是“圆形”接头伸出的图像,另一个是圆形接头插入的图像)。这样,您就可以将这些遮罩复制到图像上,快速创建漂亮的边缘