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
当然编码后的字符串应该是相应格式的图片。
是否可以创建用于查看图像的临时文件服务器端?
我有一些图片,它们是从服务器显示的,但我想给它们加水印...发现了 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
当然编码后的字符串应该是相应格式的图片。