Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.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_Image Processing - Fatal编程技术网

Php 我应该使用什么方法覆盖图片?

Php 我应该使用什么方法覆盖图片?,php,image-processing,Php,Image Processing,我已经做了我的研究,但我仍然感到非常无知。我正在寻找一个图书馆,将使一个实际的物理(嗯,数字)图片组成的其他图片层叠一个。我从Imagick开始,但我不完全确定它会创建一个新的图像,而不是渲染到屏幕上的图像。会做到这一点-只需渲染透明的PNG以获得图层,然后通过CSS将它们一个放置在另一个之上: .layers img{ position: relative; top: 0; left: 0; } 标记: <div class="layers"> <img s

我已经做了我的研究,但我仍然感到非常无知。我正在寻找一个图书馆,将使一个实际的物理(嗯,数字)图片组成的其他图片层叠一个。我从Imagick开始,但我不完全确定它会创建一个新的图像,而不是渲染到屏幕上的图像。

会做到这一点-只需渲染透明的PNG以获得图层,然后通过CSS将它们一个放置在另一个之上:

.layers img{
  position: relative;
  top: 0;
  left: 0;
}
标记:

<div class="layers">
  <img src="someScript.php">
  <img src="someScript.php">
  <img src="someScript.php">
</img>

您想要的输出的实际图像会有所帮助

是这样的吗

将这些行从此处更改

/* Output the image */
header("Content-Type: image/png");
echo $canvas;
对此

/* Save the image as output.png in the same folder as the code */
$canvas->writeImage('output.jpg');  
$canvas->destroy(); 

我不确定哪一个是“最好的”,但
gd
库肯定会使用
imagecopy
来实现这一点。您想生成一个“分层”图像,还是想在每个层中保留独立的图像?不能用png/jpg/gif制作图层,但可以用html模拟图层。什么研究?是吗?@AD7six:是的,我在谷歌上搜索过。事实上,我通过PHP手册找到了所有有趣的。如果您阅读了描述,我仍然不清楚哪些人会将新图像文件输出到我的服务器。@MarcB:我想生成一个“分层”图像。我想“转置”应该是这里更合适的术语。我不在乎在说了又做了之后有单独的层数据。啊,我不应该说“层”。对于层,我的意思是将一个图像转置到另一个图像上,而不具有特定的层数据。我应该强调的一个更大的问题是“哪种方法可以从结果中实际生成新的图像文件?”您仍然可以使用GD实现这一点。调用源图像,缩放/翻转/旋转(重复)并以选择的格式输出。是的,现在我看的是GD而不是Imagick,一切都更清晰了。非常感谢你和其他人说看GD,它实际上回答了我的问题!简单得多。我只想拍几张同样大小的照片,有透明的区域,把它们一张直接放在另一张上面,然后产生一个新的图像。有人告诉我,几乎所有的库都可以这样做,我只需要一个库,然后在我的服务器上生成一个新文件,并给出结果@NappingRabbit据说使用GD。代码的最后几行将指定您是保存还是显示-您使用了什么代码?或者你想用什么代码作为GD,Imagick和Imagemagick都能做到。我一直在使用Imagick thusfar,显然缺乏理解力。我跟着做了,稍微扭曲了一下以满足我的需要,但我只理解了足够的内容,以便将生成的图像输出到屏幕上,如教程中所述。简单地说,我使用了
标题(“内容类型:image/png”);echo$canvas其中,
$canvas
是生成的图像。请参见上面我的补充答案。先生,您是一位绅士和学者。如果我有足够的代表,我会投票支持你的答案。