可扩展的剪贴蒙版

时间:2011-08-05 15:32:26

标签: java php python scripting

我需要将变量图像剪切成像这样的拼图形状的pices(不是正方形):http://www.fernando.com.ar/jquery-puzzle/

我已经考虑过使用像Cairo或GD这样的php库这样做的可能性,但对这些图片几乎没有任何经验,并且看不到用于创建剪贴蒙版的动态分析,可动态扩展为不同大小的图像。

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

3 个答案:

答案 0 :(得分:0)

GD非常复杂,我听说Image Magick有很好的东西,有PHP版本和php.net上的大量文档。但是,并非所有Web服务器都默认安装此服务器。

http://www.php.net/manual/en/book.imagick.php

答案 1 :(得分:0)

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

http://php.amnuts.com/index.php?do=view&id=15&file=class.imagemask.php

基本上你需要对GD做的是从一个特定大小的掩码开始,然后使用imagecopyresampled函数将掩码图像资源复制到更大或更小的大小。要查看我的意思,请查看上面网址中显示的_getMaskImage方法类。可以在以下位置看到输出的工作示例:

http://php.amnuts.com/demos/image-mask/

据我所知,通过GD进行此操作的问题在于,如果要实现不同的不透明度级别,则需要一次执行一个像素,因此处理大图像可能需要几秒钟。使用ImageMagick可能并非如此。

答案 2 :(得分:0)

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

然后,您可以使用不同的颜色(例如#0f0)在要删除的部分的每个部分中动态着色,然后使用imagecolorallocatealpha使该颜色透明。为每件作品做,你有服务器端图片。

但是,如果我在哪里,我会以独特的颜色提前创建每个拼图的剪贴蒙版。这将使每个连接产生两个图像(一个带有“圆形”连接器伸出,另一个带有这个圆形连接器适合的连接)。这样你就可以将这些蒙版复制到图像上,快速创建漂亮的边缘。