PHP生成图片文字水印

 PHP基础  2018-12-02  admin  1302  1757

PHP生成图片文字水印

Snipaste_2018-12-02_19-50-39.jpg

//待处理的图片
$src_img = 'images/b3.jpg';
//获取图片信息
$src_info = getimagesize($src_img);
list($src_width, $src_height) = $src_info;
$src_im = imagecreatefromjpeg($src_img);

//生成文字颜色
$font_color = imagecolorallocate($src_im, 255, 0, 0);

//将文字写入图片
$font_size = 30;
$font_angle = 0;
$font_file = 'font/msyhbd.ttf';
$font_text = '文字水印abcd123456centphp';

//取得使用 TrueType 字体的文本的范围
//(6,7)   (4,5)
//     文字
//(0,1)   (2,3)
$arr = imagettfbbox($font_size, $font_angle, $font_file, $font_text);
$font_width = abs($arr[0]) + abs($arr[2]);
$font_height = abs($arr[5]) + abs($arr[1]);

$font_x = 0;
$font_y = $font_height;
$font_color2 = imagecolorallocate($src_im, 255, 255, 255);

$pos = 5;
switch ($pos) {
    case 1://左上
        $font_x = abs($arr[0]);
        $font_y = abs($arr[5]);
        break;
    case 2://右上
        $font_x = $src_width - abs($arr[2]);
        $font_y = abs($arr[5]);
        break;
    case 3: //左下
        $font_x = abs($arr[0]);
        $font_y = $src_height - abs($arr[0]);
        break;
    case 4: //右下
        $font_x = $src_width - abs($arr[2]);
        $font_y = $src_height - abs($arr[0]);
        break;
    case 5: //中心
        $font_x = ($src_width - $font_width) / 2;
        $font_y = ($src_height - $font_height) / 2;;
        break;
}

imagefttext($src_im, $font_size, $font_angle, $font_x, $font_y, $font_color, $font_file, $font_text);
header('content-type:image/jpeg');
imagejpeg($src_im);
imagedestroy($src_im);


如果文章对您有帮助,点击下方的广告,支持一下作者吧!

转载必须注明出处:

PHP生成图片文字水印 —— code.cent123.com

相关推荐


图片批量转换格式扩展名命工具

图片批量转换格式扩展名命工具图片批量转换格式扩展名命令行工具支持多线程设置,速度极快imageConverterGui.7z

图片批量转换格式扩展名命令行工具

图片批量转换格式扩展名命令行工具支持多线程设置,速度极快imageConverter.7z

php 正则获取字符串中所有图片链接地址并下载图片

php 正则获取字符串中所有图片链接地址并下载图片/** *获取图片的绝对地址 *@paramstring$content *@returnmixed *@Author:code.cent123.com */ functiongetImageUrl(string$content="") { //$pattern="/src=[\"\'

PHP常用正则表达式汇总

PHP常用正则表达式汇总"^\d+$"  //非负整数(正整数+0) "^[0-9]*[1-9][0-9]*$"  //正整数 "^((-\d+)|(0+))$"  //非正整数(负整数+0) "^-[0-9]*[1-9][0-9]*$"  //负整数 "^-?\d+$"    //整数