Heim > Artikel > Backend-Entwicklung > Wasserzeichen mit PHP erstellen
Dieser Artikel stellt hauptsächlich PHP zum Erstellen von Wasserzeichen vor, was einen gewissen Referenzwert hat. Jetzt können Freunde in Not darauf verweisen.
Fügen Sie Textwasserzeichen mit der Funktion imagefttext hinzu
<?php/** * 为图片添加文字水印 * @param string $dst_path 原图路径 * @param string $font_path 字体存放路径 * @param string $string_font 欲添加的文字 */function textwatermark($dst_path,$font_path,$string_font){ //创建图片的实例 $dst = imagecreatefromstring(file_get_contents($dst_path)); //添加文字 $black = imagecolorallocate($dst, 0x00, 0x00, 0x00); imagefilledrectangle($dst, 0, 0, 79, 49, 0x0000FF); imagefilledrectangle($dst, 9, 9, 70, 40, 0xFFFFFF); imagefttext($dst, 13, 0, 20, 20, $black, $font_path, $string_font); //输出图片 list($dst_w, $dst_h, $dst_type) = getimagesize($dst_path); switch ($dst_type) { case 1://IMAGETYPE_GIF header('Content-Type: image/gif'); imagegif($dst); break; case 2://IMAGETYPE_JPEG header('Content-Type: image/jpeg'); imagejpeg($dst); break; case 3://IMAGETYPE_PNG header('Content-Type: image/png'); imagepng($dst); break; default: break; } imagedestroy($dst); } header('charset=utf-8');$dst_path = './uploads/1.jpg';//选择的字体需支持中文 arial.ttf不支持中文$font_path = 'C:/Windows/Fonts/simhei.ttf'; //当文件编码为utf-8时 不需转换 $string_font = '剑liang'; textwatermark($dst_path,$font_path,$string_font);?>2. Verwenden Sie die Imagecopymerge-Funktion für Bildwasserzeichen
<?php/** * 添加图片水印功能 * @param resource $dst_path 原图路径 * @param resource $src_path 水印图片路径 * @param int $pact 水印合并效果,默认为50 * @param int $postion 添加水印位置,默认为右下角 */function watermark($dst_path,$src_path, $pct = 50,$postion = 5){ //创建图片的实例 $dst = imagecreatefromstring(file_get_contents($dst_path)); $src = imagecreatefromstring(file_get_contents($src_path)); // 从数组中获取原图和水印图片的宽和高 list($dst_w, $dst_h) = getimagesize($dst_path); list($src_w, $src_h) = getimagesize($src_path); switch ($postion) { case 1: // 左上 $src_x = $src_y = 0; break; case 2: // 右上 $src_x = $dst_w - $src_w; $src_y = 0; break; case 3: // 中间 $src_x = ($dst_w - $src_w) / 2; $src_y = ($dst_h - $src_h) / 2; break; case 4: // 左下 $src_x = 0; $src_y = $dst_h - $src_h; break; case 5: // 右下 $src_x = $dst_w - $src_w; $src_y = $dst_h - $src_h; break; default: break; } //将水印图片复制到目标图片上,最后个参数50是设置透明度,这里实现半透明效果 imagecopymerge($dst, $src, $src_x, $src_y, 0, 0, $src_w, $src_h, $pct); //如果水印图片本身带透明色,则使用imagecopy方法 // imagecopy($dst, $src, 10, 10, 0, 0, $src_w, $src_h); //输出图片 list($dst_w, $dst_h, $dst_type) = getimagesize($dst_path); switch ($dst_type) { case 1://IMAGETYPE_GIF header('Content-Type: image/gif'); imagegif($dst); break; case 2://IMAGETYPE_JPEG header('Content-Type: image/jpeg'); imagejpeg($dst); break; case 3://IMAGETYPE_PNG header('Content-Type: image/png'); imagepng($dst); break; default: break; } imagedestroy($dst); imagedestroy($src); }$source = './uploads/1.jpg';$water = './uploads/6.jpg'; watermark($source, $water, 50, 5);?>Verwandte Empfehlungen:
Detaillierte Schritte zum Erstellen einer Sitzung in PHP
So erstellen oder exportieren Sie Excel-Datentabellen mit PHP
So erstellen Sie transparente PNG-Bilder mit PHP
Das obige ist der detaillierte Inhalt vonWasserzeichen mit PHP erstellen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!