长亭巷晚 2022-08-10 19:45 采纳率: 0%
浏览 34
已结题

PHP实现图片添加文字水印

我想要达到的结果

用php语言实现:打开本地格式为jpg/png/gif/bmp类型的文件,添加中文文字水印,并保存

  1. 图片:长96px,宽96px

  2. 水印:可设置背景色,文字颜色,字体大小,字体类型,文字在水印中上下居中;水印位置为图片的left:0;bottom:0;right:0;height:36px;

  3. 存为新的文件

  • 写回答

1条回答 默认 最新

  • ilmss 2022-08-10 19:56
    关注

    这个很简单。

    
    <?php
    //指定图片路径
     
    $src = 'j.png';
    // var_dump(file_exists('j.png'));exit;
    //获取图片信息
     
    $info = getimagesize($src);
     
    //获取图片扩展名
     
    $type = image_type_to_extension($info[2],false);
     
    //动态的把图片导入内存中
     
    $fun = "imagecreatefrom{$type}";
     
    $image = $fun('j.png');
     
    //指定字体颜色
     
    $col = imagecolorallocatealpha($image,0,0,0,50);
    $kefd_color = imagecolorallocate($image, 255, 255, 255);
     
    //指定字体内容
     
    $content_str = '圣路易斯华盛顿大学辅导介绍';
     
     
    $str = preg_replace('/[\x80-\xff]{1,3}/', ' ', $content_str, -1);
     
    $num = strlen($str);
    //判断文字是否需要换行
    $shang = bcdiv($num,8);
     
       for($i=0; $i<=$shang; $i++){
        $add = 10*$i;
        $open=0+$add;
        $content = mb_substr($content_str,$open,10);
        //给图片添加文字
        $x=10;
        $y=50+20*$i;
        imagettftext($image,15,0,$x,$y,$col,"c:/windows/fonts/simhei.ttf",$content);
       }
     
    $kefd = '课业辅导';
     
    //给图片添加文字
    imagettftext($image,15,0,10,120,$kefd_color,"c:/windows/fonts/simhei.ttf",$kefd);
    //指定输入类型
     
    header('Content-type:'.$info['mime']);
     
    //动态的输出图片到浏览器中
    $func = "image{$type}";
    $func($image);
     
    //销毁图片 
    imagepng($image, 'image1.png'); //输出到目标文件 
    imagedestroy($image); //销毁内存数据流
    
    
    
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 8月11日
  • 创建了问题 8月10日

悬赏问题

  • ¥15 向数据表用newid方式插入GUID问题
  • ¥15 multisim电路设计
  • ¥20 用keil,写代码解决两个问题,用库函数
  • ¥50 ID中开关量采样信号通道、以及程序流程的设计
  • ¥15 U-Mamba/nnunetv2固定随机数种子
  • ¥15 C++行情软件的tick数据如何高效的合成K线
  • ¥15 vba使用jmail发送邮件正文里面怎么加图片
  • ¥15 vb6.0如何向数据库中添加自动生成的字段数据。
  • ¥20 在easyX库下编写C语言扑克游戏跑的快,能实现简单的人机对战
  • ¥15 svpwm波形异常求解答