>  기사  >  백엔드 개발  >  PHP 이미지에 워터마크나 텍스트를 추가하는 코드의 예

PHP 이미지에 워터마크나 텍스트를 추가하는 코드의 예

WBOY
WBOY원래의
2016-07-25 08:58:271056검색
本文介绍下,使用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图片水印的例子,适合新手朋友参考。



성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.