zoukankan      html  css  js  c++  java
  • php-图片加水印和文字

    //************************** 图片加文字 ************************

    $dst_path = '11.jpg';
    //创建图片的实例
    $dst = imagecreatefromstring(file_get_contents($dst_path));
    //打上文字
    echo 13;
    //$font = './simsun.ttc';//字体
    $black = imagecolorallocate($dst, 0x00, 0x00, 0x00);//字体颜色
    echo 12;

    $font_file = './arial.ttf';

    // Draw the text 'PHP Manual' using font size 13
    imagefttext($dst, 13, 0, 105, 55, $black, $font_file, 'PHP Manual');


    //var_dump(imagefttext($dst, 13, 0, 20, 20, $black,'12313'));

    echo 111;die;
    //输出图片
    list($dst_w, $dst_h, $dst_type) = getimagesize($dst_path);
    var_dump($dst_type);die;
    switch ($dst_type) {
    case 1://GIF
    header('Content-Type: image/gif');
    imagegif($dst);
    break;
    case 2://JPG
    header('Content-Type: image/jpeg');
    imagejpeg($dst);
    break;
    case 3://PNG
    header('Content-Type: image/png');
    imagepng($dst);
    break;
    default:
    break;
    }

    imagedestroy($dst);

    //************************** 图片加水印 ************************

    //生成图片水印
    echo 12;die;
    //die;
    $dst_path = '11.jpg';
    $src_path = '11.png';
    //创建图片的实例
    $dst = imagecreatefromstring(file_get_contents($dst_path));
    $src = imagecreatefromstring(file_get_contents($src_path));
    //获取水印图片的宽高
    list($src_w, $src_h) = getimagesize($src_path);
    //将水印图片复制到目标图片上,最后个参数80是设置透明度,这里实现半透明效果
    imagecopymerge($dst, $src, 10, 10, 0, 0, $src_w, $src_h, 80);
    //如果水印图片本身带透明色,则使用imagecopy方法
    //imagecopy($dst, $src, 10, 10, 0, 0, $src_w, $src_h);
    //输出图片
    list($dst_w, $dst_h, $dst_type) = getimagesize($dst_path);
    switch ($dst_type) {
    case 1://GIF
    header('Content-Type: image/gif');
    imagegif($dst);
    break;
    case 2://JPG
    header('Content-Type: image/jpeg');
    imagejpeg($dst);
    break;
    case 3://PNG
    header('Content-Type: image/png');
    imagepng($dst);
    break;
    default:
    break;
    }
    imagedestroy($dst);
    imagedestroy($src);

  • 相关阅读:
    【校招面试 之 C/C++】第23题 C++ STL(五)之Set
    Cannot create an instance of OLE DB provider “OraOLEDB.Oracle” for linked server "xxxxxxx".
    Redhat Linux安装JDK 1.7
    ORA-10635: Invalid segment or tablespace type
    Symantec Backup Exec 2012 Agent for Linux 卸载
    Symantec Backup Exec 2012 Agent For Linux安装
    You must use the Role Management Tool to install or configure Microsoft .NET Framework 3.5 SP1
    YourSQLDba介绍
    PL/SQL重新编译包无反应
    MS SQL 监控数据/日志文件增长
  • 原文地址:https://www.cnblogs.com/nyfz/p/10410815.html
Copyright © 2011-2022 走看看