PHP::Imagick 从合成图像创建临时文件,用于通过 <img> 标签显示

PHP::Imagick Creating a Temp FIle from A Composite Image, for displaying through <img> Tag

是否可以创建用于查看图像的临时文件服务器端?

我有一些图片,它们是从服务器显示的,但我想给它们加水印...发现了 Imagick Class,使用了合成...发送时可以查看header 但我需要它以某种方式对标签可见。

我不想使用 'write image' & 从合成图像创建新图像。我正在尝试将它用作客户端(我不熟悉 JS...是的,我会研究它,但在那之前需要一个替代方案)。

我知道的另一种选择是我应该在上传图片时控制它,但我已经上传了很多所以... 任何帮助表示赞赏!

您是否尝试过使用生成图像的函数作为 <img /> 标签的 src 属性?

我不知道你的代码是怎样的,但我认为最终结果可能是这样的:

<img src="data:image/jpeg;base64,<?php echo base64_encode($image_headers); ?>">

你基本上将图像 src 中的 headers 输出为 base64 编码字符串。

您应该记住的是,您应该将 image/jpeg 类型调整为图像的相应类型。

例如:

  • 对于 JPG、JPEG 文件,它将是 image/jpeg
  • 对于 PNG 文件,它将是 image/png
  • 对于 WEBP 文件,它将是 image/webp

当然编码后的字符串应该是相应格式的图片。