问问题
1790 次
3 回答
3
你有错误的设置。您的 HTML 应如下所示:
<img src="image.php?src=images/ornek.jpeg" />
image.php
应该是这样的:
$stamp = imagecreatefromjpeg('images/wm.png');
$im = imagecreatefromjpeg($_GET['src']);
$marge_right = 10;
$marge_bottom = 10;
$sx = imagesx($stamp);
$sy = imagesy($stamp);
// Copy the stamp image onto our photo using the margin offsets and the photo
// width to calculate positioning of the stamp.
imagecopy($im, $stamp, imagesx($im) - $sx - $marge_right, imagesy($im) - $sy - $marge_bottom, 0, 0, imagesx($stamp), imagesy($stamp));
// Output and free memory
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
于 2012-09-21T12:32:18.160 回答
2
您不能将二进制数据放入src
图像标签的属性中。
该src
属性通常需要一个图像的 URL。
您可以使用 base64 编码来做到这一点:
$file = base64_encode(img_watermark('images/ornek.jpeg'));
echo "<img src='data:image/jpeg;base64,".$file."' alt='watermarked image'>";
并删除header
函数中的行,除非您的 PHP 文件应该发送图像数据而不是 HTML。最好不要把这些东西混在一起:(
于 2012-09-21T12:31:23.880 回答
0
将此设置为您的标题:
header("Content-type:image/jpeg");
代替:
header("Content-type:image/png");
于 2012-09-21T12:27:08.623 回答