php中的图像水印
Posted
技术标签:
【中文标题】php中的图像水印【英文标题】:Image watermarking in php 【发布时间】:2009-10-20 11:01:32 【问题描述】:我想为图像添加水印并保存。这是我正在使用的代码。它在这里输出图像并将该输出存储到文件中。我想保存而不输出。
// Load the stamp and the photo to apply the watermark to
$stamp = imagecreatefrompng('stamp.png');
$im = imagecreatefromjpeg('proverbs.jpeg');
// Set the margins for the stamp and get the height/width of the stamp image
$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');
ob_start();
// output jpeg (or any other chosen) format & quality
imagejpeg($im, NULL, 85);
// capture output to string
$contents = ob_get_contents();
// end capture
ob_end_clean();
//imagepng($im);
imagedestroy($im);
$fh = fopen("proverbs.jpeg", "w" );
fwrite( $fh, $contents );
fclose( $fh );
【问题讨论】:
【参考方案1】:将其保存到文件中?
简单的改变
imagejpeg($im, NULL, 85);
到
imagejpeg($im, 'image.jpg', 85);
【讨论】:
问题是它在屏幕上输出“localhost/image/index.php”。我不想输出任何东西 已修复...只需省略输出缓冲区以上是关于php中的图像水印的主要内容,如果未能解决你的问题,请参考以下文章