84、PHP图像处理 图像处理之处理文字及获得文字尺寸属性,imagecopymerge imagecop

阅读() @2019-03-17 16:05:09

1、获取文字尺寸属性:imagettftext($image, $size, $angle, $x, $y, $color, $fontfile, $text)。

$img = imagecreatetruecolor(300, 300);
imagefill($img, 0, 0, imagecolorallocate($img, 123, 213, 321));
    
$c = imagettftext($img, 14, 0, 10, 40, imagecolorallocate($img, 255, 255, 255), 'font/msyh.ttc', iconv("gbk", "utf-8", '赵一鸣技术博客http://www.zymseo.com'));
    
echo '<pre>';
print_r($c);
    
echo '这几个字的尺寸是:<br/>';
echo '宽:'.($c[2]-$c[6]).'<br/>';
echo '高:'.($c[3]-$c[7]);

2、图像旋转: imagerotate($image, $angle, $bgd_color)。

$img = imagecreatefromjpeg('test.jpg');
$rotate = imagerotate($img, 90, 0);
header('Content-type:image/jpeg');
imagejpeg($rotate);

3、图像整合,并且设置水印透明度:imagecopymerge($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h, $pct)。

参数解释:将 src_im 图像中坐标从 src_xsrc_y 开始,宽度为 src_w,高度为 src_h 的一部分拷贝到 dst_im 图像中坐标为 dst_xdst_y 的位置上。

$img = imagecreatetruecolor(400, 400);
imagefill($img, 0, 0, imagecolorallocate($img, 255, 0, 0));

$jpeg = imagecreatefromjpeg('test.jpg');
//imagecopy($img, $jpeg, (imagesx($img)-imagesx($jpeg))/2, (imagesy($img)-imagesy($jpeg))/2, 0, 0, imagesx($jpeg), imagesy($jpeg));
imagecopymerge($img, $jpeg, (imagesx($img)-imagesx($jpeg))/2, (imagesy($img)-imagesy($jpeg))/2, 0, 0, imagesx($jpeg), imagesy($jpeg),30);

header('Content-type:image/jpeg');
imagejpeg($img);

本节完!

微信二维码
锐壳主机