php打文字水印,图片水印,生成图片保存到本地

<?php
header("Content-type:text/html;charset=utf-8");
$source_img = 'beijing.jpg';//原图
$water_map = 'shuiyin.jpg';//水印图
function addWaterMap($source_img, $water_map)
{
  $img = imagecreatefromjpeg($source_img); //读取原图
  $img_x = imagesx($img); //原图宽
  $img_y = imagesy($img); //原图高
  imagealphablending($img, true);//设置为混合填色模式
  $img_water_map = imagecreatefromjpeg($water_map);//水印图片
  $water_x = '130'; //水印宽
  $water_y = '130'; //水印高
  $wimg_x = 80; //水印x座标
  $wimg_y = 40; //水印y座标
  imagecopy($img, $img_water_map, $wimg_x, $wimg_y, 0, 0, $water_x, $water_y); 
  //分别为原图,水印,水印x座标,水印y座标,水印图片横轴开始点,水印图片纵轴开始点,水印横轴结束,水印纵轴结束
  imagejpeg($img, "img_1.jpg", 95); //输出到目标文件
  imagedestroy($img); //销毁内存数据流
  imagedestroy($img_water_map); //销毁内存数据流
  // return true;
  echo "生成成功!";
}

addWaterMap($source_img, $water_map);

//把文字打上去
$src = "img_1.jpg";
//2.获取图片的信息(得到图片的基本信息)
$info = getimagesize($src);
//3.通过获取图片类型
$type = image_type_to_extension($info[2],false);
//4.在内存中创建一个图片类型一样的图像
$fun = "imagecreatefrom{$type}";
//5.图片复制到内存中
$image = $fun($src);

// 1.设置字体的路径
$font = "fff.ttf";

//标题
$title = "TANKING";

//生成的海报文件名
$haibao_filename = md5($title).".jpg";

//3.设置字体的颜色rgb和透明度
$col = imagecolorallocatealpha($image,255,255,255,0);
//4.写入文字,文字大小、旋转率、X座标、Y座标
imagettftext($image,45,0,230,130,$col,$font,$title);
imagejpeg($image, $haibao_filename, 95); //输出到目标文件
/*销毁图片*/
imagedestroy($image);
//删除img_1
unlink("img_1.jpg");

// echo "<img src='img_2.jpg' width='300'/>";

代码、素材、字体
链接: https://pan.baidu.com/s/1LrQo... 提取码: fa2x

Author:TANKING
Date:2019-12-28
Web:likeyunba.com

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