【发布时间】:2012-01-12 03:16:10
【问题描述】:
基本上,我有 2 个 php 脚本。 1个php脚本是显示,另外1个是水印功能。
我使用这个 PHP 来显示带有水印的图像:
<img src="watermark1.php?image=photo.jpg>
这是我的 watermark1.php:
<?php
// this tells the browser to render jpg image
header('content-type: image/jpeg');
// getting the image name from GET variable
$image = $_GET['image'];
// creating png image of watermark
$watermark = imagecreatefrompng('watermark.png');
// getting dimensions of watermark image
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
// creating jpg from original image
$image_path = $image;
$image = imagecreatefromjpeg($image_path);
//something went wrong
if ($image === false) {
return false;
}
// getting the dimensions of original image
$size = getimagesize($image_path);
// placing the watermark 5px from bottom and right
$dest_x = $size[0] - $watermark_width - 5;
$dest_y = $size[1] - $watermark_height - 5;
// blending the images together
imagealphablending($image, true);
imagealphablending($watermark, true);
// creating the new image
imagecopy($image, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height);
imagejpeg($image);
// destroying and freeing memory
imagedestroy($image);
imagedestroy($watermark);
?>
但是,带水印的图像无法显示。我听说过 GDLibrary 和 ImageMagicK,但我不知道这两个是关于什么的。有没有办法通过添加 php 代码来添加水印,或者是否必须导入 GDLibrary/ImageMagicK。
感谢您抽出宝贵时间。
【问题讨论】:
-
我使用了不同的东西,这对我来说就像一个魅力是让图像被 javascript 处理。如果您坚持在服务器(PHP)上进行图像处理,那么只需将 javascript 嵌入 php 文件中。有两种途径,但当然,我选择了 jQuery。直接 Javascript:patrick-wied.at/static/watermarkjs Jquery:patrick-wied.at/static/watermarkjs/jq 这种方法的诀窍是通过调用 .js 文件在脚本末尾(就在