0

嗨,我为要并排放置的图像编写了一些代码。我为此目的使用了 Imagick 库。这是我的代码。

$im = new Imagick();
// session contain image path like upload/my.jpg
$im->readImage("http://localhost/wordpress3.5/".$_SESSION['imgname']);
$im->readImage("http://localhost/wordpress3.5/".$_SESSION['preimgurl']);

$im->resetIterator();
$combined = $im->appendImages(false);

/* Output the image */
$combined->setImageFormat("png");
header("Content-Type: image/png");
echo $combined;exit();

但是输出不是我想的那样。这是输出。我在插件/文件下编写了这段代码。我还想将该图像保存到像“localhost/wordpress/uplaod_pic/”这样的目录中。 在此处输入图像描述

4

1 回答 1

0

您应该使用带有src包含图像的直接或 base64 版本的标记的图像标记。

第一个例子是直接的:

echo '<img src="http://localhost/wordpress3.5/'.$_SESSION['imgname'].'">';

其次是使用 base64 和数据 URI 方案PHP 示例

echo '<img src="data:image/png;base64,'.base64_encode($combined).'">';

我会推荐第一种方法,因为它看起来像一个产品展示,图像很可能是公开的,如果你选择,热链接可以被破坏。

在这两个示例中,由于图像是内联的,因此您不需要将内容类型设置为图像。

您还应该在第二个版本中放置正确的 mime 类型image/pngimage/jpeg或者根据图像放置其他版本。

编辑:扩展这个:

$combined包含图像,所以你想保存这个,简单的使用:

file_put_contents('upload_pic/'.$time().'.png', $combined);
于 2013-07-29T05:11:33.733 回答