php將一個圖片上面加水印或者其他字的方法

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的英文字。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章