水印压缩图像
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了水印压缩图像相关的知识,希望对你有一定的参考价值。
我目前使用以下代码在运行中为图像添加水印并将其显示在网页中:
header('Content-type: image/jpeg');
$stamp = imagecreatefrompng(watermark.png');
$im = imagecreatefromjpeg($filename);
imagecopy($im, $stamp, 10, imagesy($im) - imagesy($stamp) - 10, 0, 0, imagesx($stamp), imagesy($stamp));
imagejpeg($im);
imagedestroy($im);
我还有很多存储在zip档案中的图像。我目前使用以下代码显示它们。
$zip = new ZipArchive();
$opened = $zip->open($zipname, ZIPARCHIVE::CHECKCONS);
if ( $opened === true ){
$content = $zip->getFromName($filename);
header('Content-type: image/jpeg');
echo $content;
};
$zip->close();
我想给它们添加水印,但似乎无法让它工作。作为初始测试,我尝试将echo中的$ content输出更改为:
imagejpeg($content);
但这没有用,这意味着添加其他水印代码也无效。任何有关如何修改邮政编码以包含水印的建议将不胜感激。
我基本上不理解$ im中使用imagecreatefromjpeg创建的内容与从zip存档中提取到$ output的内容之间的区别。我假设$ output包含原始jpg文件数据,但不知道$ im包含什么。
答案
更新:回答了我自己的问题。我需要的是在从zip获取$ content后添加以下内容:
$im = imagecreatefromstring($content);
然后,我可以完全按照第一个示例应用水印。希望能帮助别人。
以上是关于水印压缩图像的主要内容,如果未能解决你的问题,请参考以下文章
Java图片缩略图裁剪水印缩放旋转压缩转格式-Thumbnailator图像处理
水印攻击信息提取基于盲带矩阵DWT变换和DCT变换数字水印嵌入和水印攻击之后的图像信息提取解析matlab仿真(包括噪声攻击,旋转攻击以及压缩攻击)