文字

使用 imagecopymerge() 函数创建半透明水印

Example #1 使用 imagecopymerge() 函数创建半透明水印

<?php
// 加载要加水印的图像
$im  imagecreatefromjpeg ( 'photo.jpeg' );

// 首先我们从 GD 手动创建水印图像
$stamp  imagecreatetruecolor ( 100 70 );
imagefilledrectangle ( $stamp 0 0 99 69 0x0000FF );
imagefilledrectangle ( $stamp 9 9 90 60 0xFFFFFF );
$im  imagecreatefromjpeg ( 'photo.jpeg' );
imagestring ( $stamp 5 20 20 'libGD' 0x0000FF );
imagestring ( $stamp 3 20 40 '(c) 2007-9' 0x0000FF );

// 设置水印图像的位置和大小
$marge_right  10 ;
$marge_bottom  10 ;
$sx  imagesx ( $stamp );
$sy  imagesy ( $stamp );

// 以 50% 的透明度合并水印和图像
imagecopymerge ( $im $stamp imagesx ( $im ) -  $sx  $marge_right imagesy ( $im ) -  $sy  $marge_bottom 0 0 imagesx ( $stamp ),  imagesy ( $stamp ),  50 );

// 将图像保存到文件,并释放内存
imagepng ( $im 'photo_stamp.png' );
imagedestroy ( $im );

?>
使用 imagecopymerge() 函数创建半透明水印
本示例使用 imagecopymerge() 函数 来合并水印图像和原始图像。 我们可以控制水印的透明度,在本例中是 50% 的透明度。 在实际使用中, 使用半透明水印可以在不影响用户观看图像的前提下进行版权保护。

用户评论:

[#1] mmshfe at gmail dot com [2015-02-21 09:47:33]

The second image load is not necessary:

$im = imagecreatefromjpeg('photo.jpeg');

上一篇: 下一篇: