Heim  >  Artikel  >  Backend-Entwicklung  >  php图片上加水印或文字的代码举例

php图片上加水印或文字的代码举例

WBOY
WBOYOriginal
2016-07-25 08:58:271051Durchsuche
本文介绍下,使用php代码在图片上加水印或文字的例子,有需要的朋友参考下吧。

php水印代码,如下:

<?php
/**
* 图片加水印、加文字
* edit bbs.it-home.org
*/
header("content-type:image/png");
 
$button_text = "click here";
$color = 'purple';
  
$image = imagecreatefrompng("image/".$color.'.png');  
$width_image = imagesx($image);  
$height_image = imagesy($image);  
  
$width_image_wo_margins = $width_image - (2*2);  
$height_image_wo_margins = $height_image - (2*2);  

//echo $width_image;  
//echo "<br>";  
//Echo $height_image;  
//exit;  
  
$font_size = 88;  
  
//putenv("GDFONTPATH=C:/WINDOWS/Fonts");  
  
$fontname = "ARIAL.TTF";  
  
do  
{  
    $font_size--;  
    $bbox = imagettfbbox($font_size,0,$fontname,$button_text);  
      
    $right_text = $bbox[2];  
    $left_text = $bbox[0];  
    $width_text = $right_text - $left_text;
    $height_text = abs($bbox[7] - $bbox[1]);
}while($font_size > 8 && ($height_text > $height_image_wo_margins || $width_text > $width_image_wo_margins));
  
$text_x = $width_image/2.0 - $width_text/2.0;
$text_y = $height_image/2.0 - $height_text/2.0;
  
if($left_text < 0){  
    $text_x += abs($left_text);
}  
  
$above_line_text = abs($bbox[7]);
$text_y += $above_line_text;
  
$text_y -= 2;
  
$white = imagecolorallocate($image,255,255,255);
  
imagettftext($image,$font_size,0,$text_x,$text_y,$white,$fontname,$button_text);
 
imagepng($image);
imagedestroy($image);
?>

以上代码实现: 在一个按钮图片上面添加一个click here的英文字。

个人觉得,是一个比较简单的学习php图片水印的例子,适合新手朋友参考。



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn