Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在透明圆上渲染图像并对其进行裁剪_Php_Jquery_Imagick - Fatal编程技术网

Php 在透明圆上渲染图像并对其进行裁剪

Php 在透明圆上渲染图像并对其进行裁剪,php,jquery,imagick,Php,Jquery,Imagick,我有一个背景图像: , 我在其上融合了一个圆(或月食): 这样,等于圆的区域在背景图像上变得透明,如下所示: 我使用php和image magick实现了这一点 现在,我必须在孔中插入一个图像,以便: 图像渲染在背景之上,因此只有图像面积相等 要拍照,孔是可见的 当我在照片孔中拖动图像时,图像进入背景后面的层,当再次释放时,图像将作为步骤1重新渲染 我还需要裁剪步骤1中渲染的图像 如何在php中使用image magick实现这一点?任何提示或帮助都将非常有用 要在图层背景下传输图像,可以使

我有一个背景图像: ,

我在其上融合了一个圆(或月食):

这样,等于圆的区域在背景图像上变得透明,如下所示:

我使用php和image magick实现了这一点

现在,我必须在孔中插入一个图像,以便:

  • 图像渲染在背景之上,因此只有图像面积相等 要拍照,孔是可见的
  • 当我在照片孔中拖动图像时,图像进入背景后面的层,当再次释放时,图像将作为步骤1重新渲染
  • 我还需要裁剪步骤1中渲染的图像
  • 如何在php中使用image magick实现这一点?任何提示或帮助都将非常有用


    要在图层背景下传输图像,可以使用z索引吗?

    将图像裁剪为与圆圈相同的尺寸,然后将其放置在背景图像顶部的posX、posY等位置,这是一个很好的直接解决方案。

    为了实现上述目的,我采用了以下方法:

  • 我把一个图像放在背景图像后面的一个div(正好围绕着圆圈)中。div已隐藏溢出,因此我可以包含图像

  • 为了拖动图像,我将背景图像上的鼠标按下事件转移到下面的div。这可以使用jQuery触发器完成

  • 现在要裁剪图像,我计算图像的x、y偏移量以及相应的裁剪高度和宽度,并将数据发送到服务器进行裁剪


  • 希望这对其他人有所帮助。

    您的问题非常混乱(或非常混乱)。如果希望拖动/更改z-index图像,则必须使用javascript执行此操作。删除对象后,您将把必要的信息传递回服务器(
    posX
    posX
    上方或下方),并相应地渲染imageMagick。是的,但我的问题是如何制作图像的一部分(仅)这是可见的,虽然透明的洞渲染在背景之上?我需要有那个图像也可拖动,所以用户可以拖动它和改变。我希望你能理解我的要求。当我在照片孔中拖动图像时,图像进入背景后面的层,当再次释放时,图像在顶部重新渲染。如果我以前裁剪过,那么用户将如何拖动?