我有一个网站,上面有很多原始图片,我希望人们访问该网站以查看原始图片,并且让搜索引擎只显示带有透明水印的图片。
以下是我所说的透明水印的示例。当然,除了我替换“测试!” 与公司名称。
这是我到目前为止创建的 PHP 代码:
<?php
$txt = "TEST!";
header( "Content-type: image/jpeg", true );
$w = imagefontwidth(5) * ( strlen( $txt ) + 1 );
$h = imagefontheight(5) * 2;
$i2 = imagecreatetruecolor( $w,$h );
imagesavealpha( $i2, true );
imagealphablending( $i2, false );
imagefill( $i2, 0, 0, imagecolorallocatealpha( $i2, 255, 255, 255, 127 ) );
imagestring( $i2, 3, 10, 10, $txt, imagecolorallocate( $i2, 255, 0, 0) );
$i = imagecreatefromjpeg( "someimage.jpg" );
imagecopyresized( $i, $i2, 2, 2, 0, 0, $w * 5, $h * 7, $w, $h );
imagejpeg( $i, null, 100 );
imagedestroy( $i );
imagedestroy( $i2 );
?>
$i2
是我在其中添加文本的图像框的资源变量,用于$i1
放置文本的大图像。$w
并$h
表示文本图像框的宽度和高度。此代码能够在不显示背景框的情况下在图像顶部生成文本,但不会产生如上图所示的凹凸贴图效果。
谁能指导我需要使用哪些函数、数学或代码来创建凹凸贴图效果?
我觉得我的解决方案需要对一块像素进行特殊操作,但我不知道如何实现这种效果。
我还想坚持使用 PHP GD Image 库。