• PHP给图片添加水印


    PHP 拷贝图像 imagecopy 与 imagecopyresized 函数

    imagecopy() 函数用于拷贝图像或图像的一部分。

      imagecopyresized() 函数用于拷贝部分图像并调整大小。

    imagecopy()

    imagecopy() 函数用于拷贝图像或图像的一部分,成功返回 TRUE ,否则返回 FALSE 。

      语法:

      bool imagecopy( resource dst_im, resource src_im, int dst_x, int dst_y, int src_x, int src_y,

      int src_w, int src_h )

      参数说明:参数说明

      dst_im目标图像

      src_im被拷贝的源图像

      dst_x目标图像开始 x 坐标

      dst_y目标图像开始 y 坐标,x,y同为 0 则从左上角开始

      src_x拷贝图像开始 x 坐标

      src_y拷贝图像开始 y 坐标,x,y同为 0 则从左上角开始拷贝

      src_w(从 src_x 开始)拷贝的宽度

      src_h(从 src_y 开始)拷贝的高度

      例子:

      <?php

      header("Content-type: image/jpeg");

      //创建目标图像

      $dst_im = imagecreatetruecolor(150, 150);

      //源图像

      $src_im = @imagecreatefromjpeg("images/flower_1.jpg");

      //拷贝源图像左上角起始 150px 150px

      imagecopy( $dst_im, $src_im, 0, 0, 0, 0, 150, 150 );

      //输出拷贝后图像

      imagejpeg($dst_im);

      imagedestroy($dst_im);

      imagedestroy($src_im);

      ?>

     1 <?php
     2 //这里仅仅是为了案例需要准备一些素材图片
     3 $url = 'http://www.iyi8.com/uploadfile/2014/0521/20140521105216901.jpg';
     4 $content = file_get_contents($url);
     5 $filename = 'tmp.jpg';
     6 file_put_contents($filename, $content);
     7 $url = 'http://wiki.ubuntu.org.cn/images/3/3b/Qref_Edubuntu_Logo.png';
     8 file_put_contents('logo.png', file_get_contents($url));
     9 //开始添加水印操作
    10 $im = imagecreatefromjpeg($filename);
    11 $logo = imagecreatefrompng('logo.png');
    12 $size = getimagesize('logo.png');
    13 imagecopy($im, $logo, 600, 150, 0, 00, $size[0], $size[1]);
    14 
    15 header("content-type: image/jpeg");
    16 imagejpeg($im);
    17 ?>

    imagecopyresized()

    imagecopyresized() 函数用于拷贝图像或图像的一部分并调整大小,成功返回 TRUE ,否则返回 FALSE 。

      语法:

      bool imagecopyresized( resource dst_im, resource src_im, int dst_x, int dst_y, int src_x, int src_y,

      int dst_w, int dst_h, int src_w, int src_h )

      本函数参数可参看 imagecopy() 函数,只是本函数增加了两个参数(注意顺序):

      dst_w:目标图像的宽度。

      dst_h:目标图像的高度。

      imagecopyresized() 的典型应用就是生成图片的缩略图:

      <?php

      header("Content-type: image/jpeg");

      //原图文件

      $file = "images/flower_1.jpg";

      // 缩略图比例

      $percent = 0.5;

      // 缩略图尺寸

      list($width, $height) = getimagesize($file);

      $newwidth = $width * $percent;

      $newheight = $height * $percent;

      // 加载图像

      $src_im = @imagecreatefromjpeg($file);

      $dst_im = imagecreatetruecolor($newwidth, $newheight);

      // 调整大小

      imagecopyresized($dst_im, $src_im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);

      //输出缩小后的图像

      imagejpeg($dst_im);

      imagedestroy($dst_im);

      imagedestroy($src_im);

      ?>

  • 相关阅读:
    [程序员代码面试指南]递归和动态规划-换钱的方法数(DP,完全背包)
    [程序员代码面试指南]递归和动态规划-换钱的最少货币数(DP,完全背包)
    [程序员代码面试指南]数组和矩阵-未排序数组中累加和为给定值的最长子数组长度
    浅谈RDD
    Java中的移位操作符
    Boolean类源码分析
    IntegerCache详解
    Java Integer类分析
    ArrayList LinkedList Vector
    java的"=="与"equals"
  • 原文地址:https://www.cnblogs.com/lyf-blog/p/5687637.html
Copyright © 2020-2023  润新知