合并(合并)图像与拖动&下降


Combine (merge) images with drag & drop

想象这个场景:在我的服务器本地有一张图片,其中显示了一个草图,并且在它上面有一个"空白孔"区域。然后,用户可以将另一张图片上传到我的服务器。

我想要达到的是:图片上传完成后,会显示第一张图片(有"洞"的那张),其后面显示的是用户的照片,你可以通过第一张照片的"空白洞"区域看到。

用户可以移动他的图片(拖拽&掉落样式),这样他就可以选择通过"空白孔"看到的区域。然后我想保存结果-通过合并2张照片或保持用户的图片在数据库中的位置,以便我可以再次显示它。
(差不多是这样的)

我应该寻找什么样的技术?我猜是javascript(用于拖拽&或html5或php(用于合并照片)?
有我可以使用的图书馆吗?

我希望我的解释没有太混乱,我甚至不知道如何谷歌它

我不知道是否有更好的解决方案(我怀疑有),但我怀疑所有这些都可以不太麻烦地完成。下面是解决这个问题的一种方法的概要:

  1. 使用一个javascript驱动的"上传小部件",比如uploadify,让你的用户可以将"他的"图像上传到服务器。服务器将对图像进行一些处理(例如调整大小和裁剪到合适的尺寸),并使用PHP的gd库保存它。它将把"准备好的"图像的URL返回给浏览器——所有这些都是通过AJAX完成的。
  2. 浏览器有一个用户图像的URL,所以使用更多的Javascript,你可以动态地添加一个元素,在页面中显示它,并允许用户移动它,例如jQuery draggable。合成静态内容后面的可拖动图像(带有"洞"的图像)是一个细节,你必须使用HTML, CSS和Javascript的组合来照顾。
  3. 当用户完成后,使用AJAX调用(例如再次使用jQuery)通知服务器图像的定位(这将通过您选择的javascript框架的设施可用)。然后,服务器可以将这两个图像"组合"在一起(再次使用gd或类似的东西),并返回给浏览器一个URL,通过该URL可以访问最终产品。

当然,这里有很多细节需要注意,但确切地知道计划是什么应该有助于你开始。

看一下PHP的GD扩展。如果安装了它,那么很容易将一个图像(带有透明中心)合并到用户上传的第二张图像的顶部。

看看http://php.net/manual/en/function.imagecopymerge.php

好的,让你开始,是的,使用JavaScript拖放模块来放置图像。您可以记录相对于容器的x/y坐标。使用PHP图像库/类进行图像合并。像这样:http://www.phpclasses.org/package/3930-PHP-Generate-an-image-from-the-combination-of-2-images.html