php将一个图片上面加水印或者其他字的方法

162 篇文章 0 订阅
114 篇文章 0 订阅
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的英文字。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值