水印压缩图像

时间:2013-11-13 01:26:59

标签: php zip watermark

我目前使用以下代码动态水印图像并将其显示在网页中:

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包含什么。

1 个答案:

答案 0 :(得分:0)

更新:回答了我自己的问题。我需要的是在从zip获取$ content后添加以下内容:

$im = imagecreatefromstring($content);

然后,我可以完全按照第一个示例应用水印。希望能帮助他人。