功能强大的PHP图片处理类(水印、透明度、旋转)

非常强大的php图片处理类,可以自定义图片水印、透明度、图片缩放、图片锐化、图片旋转、图片翻转、图片剪切、图片反色。

* 图片处理函数功能:缩放、剪切、相框、水印、锐化、旋转、翻转、透明度、反色
* 处理并保存历史记录的思路:当有图片有改动时自动生成一张新图片,命名方式可以考虑在原图片的基础上加上步骤,例如:图片名称+__第几步

具体代码如下:

<?php
class picture{
  var $PICTURE_URL; //要处理的图片
   var $DEST_URL = "temp__01.jpg"; //生成目标图片位置
   var $PICTURE_CREATE; //要创建的图片
   var $TURE_COLOR; //新建一个真彩图象 

   var $PICTURE_WIDTH; //原图片宽度
   var $PICTURE_HEIGHT; //原图片高度 

  /**
   * 水印的类型,默认的为水印文字
   */
   var $MARK_TYPE = 1;
   var $WORD; //经过UTF-8后的文字
   var $WORD_X; //文字横坐标
   var $WORD_Y; //文字纵坐标
   var $FONT_TYPE; //字体类型
   var $FONT_SIZE = "12"; //字体大小
   var $FONT_WORD; //文字
   var $ANGLE = 0; //文字的角度,默认为0
   var $FONT_COLOR = "#000000"; //文字颜色
   var $FONT_PATH = "font/simkai.ttf"; //字体库,默认为宋体
   var $FORCE_URL; //水印图片
   var $FORCE_X = 0; //水印横坐标
   var $FORCE_Y = 0; //水印纵坐标
   var $FORCE_START_X = 0; //切起水印的图片横坐标
   var $FORCE_START_Y = 0; //切起水印的图片纵坐标 

   var $PICTURE_TYPE; //图片类型
   var $PICTURE_MIME; //输出的头部 

  /**
   * 缩放比例为1的话就按缩放高度和宽度缩放
   */
   var $ZOOM = 1; //缩放类型
   var $ZOOM_MULTIPLE; //缩放比例
   var $ZOOM_WIDTH; //缩放宽度
   var $ZOOM_HEIGHT; //缩放高度 

  /**
   * 裁切,按比例和固定长度、宽度
   */
   var $CUT_TYPE = 1; //裁切类型
   var $CUT_X = 0; //裁切的横坐标
   var $CUT_Y = 0; //裁切的纵坐标
   var $CUT_WIDTH = 100; //裁切的宽度
   var $CUT_HEIGHT = 100; //裁切的高度 

  /**
   * 锐化
   */
   var $SHARP = "7.0"; //锐化程度 

  /**
   * 透明度处理
   */
   var $ALPHA = '100'; //透明度在0-127之间
   var $ALPHA_X = "90";
   var $ALPHA_Y = "50"; 

  /**
   * 任意角度旋转
   */
   var $CIRCUMROTATE = "90.0"; //注意,必须为浮点数 

  /**
   * 出错信息
   */
   var $ERROR = array(
    'unalviable' => '没有找到相关图片!'
    ); 

  /**
   * 构造函数:函数初始化
   */
   function __construct($PICTURE_URL){ 

     $this -> get_info($PICTURE_URL); 

     }
   function get_info($PICTURE_URL){
    /**
     * 处理原图片的信息,先检测图片是否存在,不存在则给出相应的信息
     */
     @$SIZE = getimagesize($PICTURE_URL);
     if(!$SIZE){
       exit($this -> ERROR['unalviable']);
       } 

     // 得到原图片的信息类型、宽度、高度
    $this -> PICTURE_MIME = $SIZE['mime'];
     $this -> PICTURE_WIDTH = $SIZE[0];
     $this -> PICTURE_HEIGHT = $SIZE[1]; 

     // 创建图片
    switch($SIZE[2]){
     case 1:
       $this -> PICTURE_CREATE = imagecreatefromgif($PICTURE_URL);
       $this -> PICTURE_TYPE = "imagejpeg";
       $this -> PICTURE_EXT = "jpg";
       break;
     case 2:
       $this -> PICTURE_CREATE = imagecreatefromjpeg($PICTURE_URL);
       $this -> PICTURE_TYPE = "imagegif";
       $this -> PICTURE_EXT = "gif";
       break;
     case 3:
       $this -> PICTURE_CREATE = imagecreatefrompng($PICTURE_URL);
       $this -> PICTURE_TYPE = "imagepng";
       $this -> PICTURE_EXT = "png";
       break;
       } 

    /**
     * 文字颜色转换16进制转换成10进制
     */
     preg_match_all("/([0-f]){2,2}/i", $this -> FONT_COLOR, $MATCHES);
     if(count($MATCHES) == 3){
     $this -> RED = hexdec($MATCHES[0][0]);
     $this -> GREEN = hexdec($MATCHES[0][1]);
     $this -> BLUE = hexdec($MATCHES[0][2]);
     }
   } 

 # end of __construct
/**
 * 将16进制的颜色转换成10进制的(R,G,B)
 */
function hex2dec(){
   preg_match_all("/([0-f]){2,2}/i", $this -> FONT_COLOR, $MATCHES);
   if(count($MATCHES) == 3){
     $this -> RED = hexdec($MATCHES[0][0]);
     $this -> GREEN = hexdec($MATCHES[0][1]);
     $this -> BLUE = hexdec($MATCHES[0][2]);
     }
   } 

 // 缩放类型
function zoom_type($ZOOM_TYPE){
   $this -> ZOOM = $ZOOM_TYPE;
   } 

 // 对图片进行缩放,如果不指定高度和宽度就进行缩放
function zoom(){
   // 缩放的大小
  if($this -> ZOOM == 0){
     $this -> ZOOM_WIDTH = $this -> PICTURE_WIDTH * $this -> ZOOM_MULTIPLE;
     $this -> ZOOM_HEIGHT = $this -> PICTURE_HEIGHT * $this -> ZOOM_MULTIPLE;
     }
   // 新建一个真彩图象
  $this -> TRUE_COLOR = imagecreatetruecolor($this -> ZOOM_WIDTH, $this -> ZOOM_HEIGHT);
   $WHITE = imagecolorallocate($this -> TRUE_COLOR, 255, 255, 255);
   imagefilledrectangle($this -> TRUE_COLOR, 0, 0, $this -> ZOOM_WIDTH, $this -> ZOOM_HEIGHT, $WHITE);
   imagecopyresized($this -> TRUE_COLOR, $this -> PICTURE_CREATE, 0, 0, 0, 0, $this -> ZOOM_WIDTH, $this -> ZOOM_HEIGHT, $this -> PICTURE_WIDTH, $this -> PICTURE_HEIGHT);
   } 

 # end of zoom
// 裁切图片,按坐标或自动
function cut(){
   $this -> TRUE_COLOR = imagecreatetruecolor($this -> CUT_WIDTH, $this -> CUT_WIDTH);
   imagecopy($this -> TRUE_COLOR, $this -> PICTURE_CREATE, 0, 0, $this -> CUT_X, $this -> CUT_Y, $this -> CUT_WIDTH, $this -> CUT_HEIGHT);
   } 

 # end of cut
/**
 * 在图片上放文字或图片
 * 水印文字
 */
function _mark_text(){
   $this -> TRUE_COLOR = imagecreatetruecolor($this -> PICTURE_WIDTH, $this -> PICTURE_HEIGHT);
   $this -> WORD = mb_convert_encoding($this -> FONT_WORD, 'utf-8', 'gb2312');
  /**
   * 取得使用 TrueType 字体的文本的范围
   */
   $TEMP = imagettfbbox($this -> FONT_SIZE, 0, $this -> FONT_PATH, $this -> WORD);
   $WORD_LENGTH = strlen($this -> WORD);
   $WORD_WIDTH = $TEMP[2] - $TEMP[6];
   $WORD_HEIGHT = $TEMP[3] - $TEMP[7];
  /**
   * 文字水印的默认位置为右下角
   */
   if($this -> WORD_X == ""){
     $this -> WORD_X = $this -> PICTURE_WIDTH - $WORD_WIDTH;
     }
   if($this -> WORD_Y == ""){
     $this -> WORD_Y = $this -> PICTURE_HEIGHT - $WORD_HEIGHT;
     }
   imagesettile($this -> TRUE_COLOR, $this -> PICTURE_CREATE);
   imagefilledrectangle($this -> TRUE_COLOR, 0, 0, $this -> PICTURE_WIDTH, $this -> PICTURE_HEIGHT, IMG_COLOR_TILED);
   $TEXT2 = imagecolorallocate($this -> TRUE_COLOR, $this -> RED, $this -> GREEN, $this -> Blue);
   imagettftext($this -> TRUE_COLOR, $this -> FONT_SIZE, $this -> ANGLE, $this -> WORD_X, $this -> WORD_Y, $TEXT2, $this -> FONT_PATH, $this -> WORD);
   } 

/**
 * 水印图片
 */
 function _mark_picture(){ 

  /**
   * 获取水印图片的信息
   */
   @$SIZE = getimagesize($this -> FORCE_URL);
   if(!$SIZE){
     exit($this -> ERROR['unalviable']);
     }
   $FORCE_PICTURE_WIDTH = $SIZE[0];
   $FORCE_PICTURE_HEIGHT = $SIZE[1];
   // 创建水印图片
  switch($SIZE[2]){
   case 1:
     $FORCE_PICTURE_CREATE = imagecreatefromgif($this -> FORCE_URL);
     $FORCE_PICTURE_TYPE = "gif";
     break;
   case 2:
     $FORCE_PICTURE_CREATE = imagecreatefromjpeg($this -> FORCE_URL);
     $FORCE_PICTURE_TYPE = "jpg";
     break;
   case 3:
     $FORCE_PICTURE_CREATE = imagecreatefrompng($this -> FORCE_URL);
     $FORCE_PICTURE_TYPE = "png";
     break;
     }
  /**
   * 判断水印图片的大小,并生成目标图片的大小,如果水印比图片大,则生成图片大小为水印图片的大小。否则生成的图片大小为原图片大小。
   */
   $this -> NEW_PICTURE = $this -> PICTURE_CREATE;
   if($FORCE_PICTURE_WIDTH > $this -> PICTURE_WIDTH){
   $CREATE_WIDTH = $FORCE_PICTURE_WIDTH - $this -> FORCE_START_X;
   }else{
   $CREATE_WIDTH = $this -> PICTURE_WIDTH;
   }
 if($FORCE_PICTURE_HEIGHT > $this -> PICTURE_HEIGHT){
   $CREATE_HEIGHT = $FORCE_PICTURE_HEIGHT - $this -> FORCE_START_Y;
   }else{
   $CREATE_HEIGHT = $this -> PICTURE_HEIGHT;
   }
/**
 * 创建一个画布
 */
 $NEW_PICTURE_CREATE = imagecreatetruecolor($CREATE_WIDTH, $CREATE_HEIGHT);
 $WHITE = imagecolorallocate($NEW_PICTURE_CREATE, 255, 255, 255);
/**
 * 将背景图拷贝到画布中
 */
 imagecopy($NEW_PICTURE_CREATE, $this -> PICTURE_CREATE, 0, 0, 0, 0, $this -> PICTURE_WIDTH, $this -> PICTURE_HEIGHT); 

/**
 * 将目标图片拷贝到背景图片上
 */
 imagecopy($NEW_PICTURE_CREATE, $FORCE_PICTURE_CREATE, $this -> FORCE_X, $this -> FORCE_Y, $this -> FORCE_START_X, $this -> FORCE_START_Y, $FORCE_PICTURE_WIDTH, $FORCE_PICTURE_HEIGHT);
 $this -> TRUE_COLOR = $NEW_PICTURE_CREATE;
 }
 # end of mark
function alpha_(){
 $this -> TRUE_COLOR = imagecreatetruecolor($this -> PICTURE_WIDTH, $this -> PICTURE_HEIGHT);
 $rgb = "#CDCDCD";
 $tran_color = "#000000";
 for($j = 0;$j <= $this -> PICTURE_HEIGHT-1;$j++){
   for ($i = 0;$i <= $this -> PICTURE_WIDTH-1;$i++)
  {
     $rgb = imagecolorat($this -> PICTURE_CREATE, $i, $j);
     $r = ($rgb >> 16) & 0xFF;
     $g = ($rgb >> 8) & 0xFF;
     $b = $rgb & 0xFF;
     $now_color = imagecolorallocate($this -> PICTURE_CREATE, $r, $g, $b);
     if ($now_color == $tran_color)
    {
       continue;
       }
    else
      {
       $color = imagecolorallocatealpha($this -> PICTURE_CREATE, $r, $g, $b, $ALPHA);
       imagesetpixel($this -> PICTURE_CREATE, $ALPHA_X + $i, $ALPHA_Y + $j, $color);
       }
     $this -> TRUE_COLOR = $this -> PICTURE_CREATE; 

     }
   }
 } 

/**
 * 图片旋转:
 * 沿y轴旋转
 */
 function turn_y(){
 $this -> TRUE_COLOR = imagecreatetruecolor($this -> PICTURE_WIDTH, $this -> PICTURE_HEIGHT);
 for ($x = 0; $x < $this -> PICTURE_WIDTH; $x++)
{
   imagecopy($this -> TRUE_COLOR, $this -> PICTURE_CREATE, $this -> PICTURE_WIDTH - $x - 1, 0, $x, 0, 1, $this -> PICTURE_HEIGHT);
   }
 }
/**
 * 沿X轴旋转
 */
 function turn_x(){
   $this -> TRUE_COLOR = imagecreatetruecolor($this -> PICTURE_WIDTH, $this -> PICTURE_HEIGHT);
   for ($y = 0; $y < $this -> PICTURE_HEIGHT; $y++){
     imagecopy($this -> TRUE_COLOR, $this -> PICTURE_CREATE, 0, $this -> PICTURE_HEIGHT - $y - 1, 0, $y, $this -> PICTURE_WIDTH, 1);
   }
 } 

/**
 * 任意角度旋转
 */
 function turn(){
   $this -> TRUE_COLOR = imagecreatetruecolor($this -> PICTURE_WIDTH, $this -> PICTURE_HEIGHT);
   imageCopyResized($this -> TRUE_COLOR, $this -> PICTURE_CREATE, 0, 0, 0, 0, $this -> PICTURE_WIDTH, $this -> PICTURE_HEIGHT, $this -> PICTURE_WIDTH, $this -> PICTURE_HEIGHT);
   $WHITE = imagecolorallocate($this -> TRUE_COLOR, 255, 255, 255);
   $this -> TRUE_COLOR = imagerotate ($this -> TRUE_COLOR, $this -> CIRCUMROTATE, $WHITE);
 }
/**
 * 图片锐化
 */
 function sharp(){
   $this -> TRUE_COLOR = imagecreatetruecolor($this -> PICTURE_WIDTH, $this -> PICTURE_HEIGHT);
   $cnt = 0;
   for ($x = 0; $x < $this -> PICTURE_WIDTH; $x++){
     for ($y = 0; $y < $this -> PICTURE_HEIGHT; $y++){
       $src_clr1 = imagecolorsforindex($this -> TRUE_COLOR, imagecolorat($this -> PICTURE_CREATE, $x-1, $y-1));
       $src_clr2 = imagecolorsforindex($this -> TRUE_COLOR, imagecolorat($this -> PICTURE_CREATE, $x, $y));
       $r = intval($src_clr2["red"] + $this -> SHARP * ($src_clr2["red"] - $src_clr1["red"]));
       $g = intval($src_clr2["green"] + $this -> SHARP * ($src_clr2["green"] - $src_clr1["green"]));
       $b = intval($src_clr2["blue"] + $this -> SHARP * ($src_clr2["blue"] - $src_clr1["blue"]));
       $r = min(255, max($r, 0));
       $g = min(255, max($g, 0));
       $b = min(255, max($b, 0));
       if (($DST_CLR = imagecolorexact($this -> PICTURE_CREATE, $r, $g, $b)) == -1)
         $DST_CLR = imagecolorallocate($this -> PICTURE_CREATE, $r, $g, $b);
       $cnt++;
       if ($DST_CLR == -1) die("color allocate faile at $x, $y ($cnt).");
       imagesetpixel($this -> TRUE_COLOR, $x, $y, $DST_CLR);
    }
  }
 }
/**
 * 将图片反色处理??
 */
 function return_color(){
/**
 * 创建一个画布
 */
 $NEW_PICTURE_CREATE = imagecreate($this -> PICTURE_WIDTH, $this -> PICTURE_HEIGHT);
 $WHITE = imagecolorallocate($NEW_PICTURE_CREATE, 255, 255, 255);
/**
 * 将背景图拷贝到画布中
 */
 imagecopy($NEW_PICTURE_CREATE, $this -> PICTURE_CREATE, 0, 0, 0, 0, $this -> PICTURE_WIDTH, $this -> PICTURE_HEIGHT);
 $this -> TRUE_COLOR = $NEW_PICTURE_CREATE;
 } 

/**
 * 生成目标图片并显示
 */
 function show(){
 // 判断浏览器,若是IE就不发送头
if(isset($_SERVER['HTTP_USER_AGENT']))
  {
   $ua = strtoupper($_SERVER['HTTP_USER_AGENT']);
   if(!preg_match('/^.*MSIE.*\)$/i', $ua))
    {
     header("Content-type:$this->PICTURE_MIME");
     }
   }
 $OUT = $this -> PICTURE_TYPE;
 $OUT($this -> TRUE_COLOR);
 } 

/**
 * 生成目标图片并保存
 */
 function save_picture(){
 // 以 JPEG 格式将图像输出到浏览器或文件
$OUT = $this -> PICTURE_TYPE;
 if(function_exists($OUT)){
   // 判断浏览器,若是IE就不发送头
  if(isset($_SERVER['HTTP_USER_AGENT']))
    {
     $ua = strtoupper($_SERVER['HTTP_USER_AGENT']);
     if(!preg_match('/^.*MSIE.*\)$/i', $ua))
      {
       header("Content-type:$this->PICTURE_MIME");
       }
     }
   if(!$this -> TRUE_COLOR){
     exit($this -> ERROR['unavilable']);
     }else{
     $OUT($this -> TRUE_COLOR, $this -> DEST_URL);
     $OUT($this -> TRUE_COLOR);
     }
   }
 }
/**
 * 析构函数:释放图片
 */
 function __destruct(){
/**
 * 释放图片
 */
 imagedestroy($this -> TRUE_COLOR);
 imagedestroy($this -> PICTURE_CREATE);
 }
 # end of class
}
?> 

这就是非常强大的php图片处理类,好好收藏,亲,相信以后一定会派上用场的。

(0)

相关推荐

  • php给图片添加文字水印方法汇总

    1: 面向过程的编写方法 //指定图片路径 $src = '001.png'; //获取图片信息 $info = getimagesize($src); //获取图片扩展名 $type = image_type_to_extension($info[2],false); //动态的把图片导入内存中 $fun = "imagecreatefrom{$type}"; $image = $fun('001.png'); //指定字体颜色 $col = imagecolorallocateal

  • PHP添加图片水印、压缩、剪切的封装类

    给图片添加水印,其实就是把原来的图片和水印添加在一起,下面小编把最近整理的资料分享给大家. php对图片文件的操作主要是利用GD库扩展.当我们频繁利用php对图片进行操作时,会自然封装很多函数,否则会写太多重复的代码.当有很多对图片的相关函数的时候,我们可以考虑将这些函数也整理一下,因而就有了封装成类的想法. 操作图片主要历经四个步骤: 第一步:打开图片 第二步:操作图片 第三步:输出图片 第四步:销毁图片 1,3,4三个步骤每次都要写,每次又都差不多.真正需要变通的只有操作图片的这一步骤了.操

  • PHP Imagick完美实现图片裁切、生成缩略图、添加水印

    本文实例讲解了PHP使用Imagick 裁切.生成缩略图.添加水印自动检测和处理,支持gif,分享给大家供大家参考,具体内容如下 调用方式: include 'imagick.class.php'; $image = new lib_image_imagick(); $image->open('a.gif'); $image->resize_to(100, 100, 'scale_fill'); $image->add_text('1024i.com', 10, 20); $image-

  • php图片添加文字水印实现代码

    php类库给现有的图片加文字水印,代码不是很完善,欢迎大家多多指教!代码如下: <?php /*PHP图片加文字水印类库 QQ:3697578482 伤心的歌 该类库暂时只支持文字水印,位置为右下角,颜色随机 调用方法: 1.在需要加水印的文件顶部引入类库: include_once 'imageClass.php'; 2.声明新类: $tpl=new image_fu; 3.给图片水印提供参数: $tpl->img(图片路径,水印文字,字体路径,字体大小,字体角度); 比如:$tpl->

  • ThinkPHP水印功能实现修复PNG透明水印并增加JPEG图片质量可调整

    本文实例讲述了ThinkPHP水印功能实现修复PNG透明水印并增加JPEG图片质量可调整的方法.分享给大家供大家参考.具体实现方法如下: TP自带有图片类,有给图片加水印的功能. 这里完善了: 1. png水印透明 2. 加水印后质量调整(只限于JPG格式) 代码如下: 复制代码 代码如下: /** +-------------------- * 为图片添加水印 +-------------------- * @static public +-------------------- * @par

  • PHP图片加水印实现方法

    本文实例讲述了PHP图片加水印实现方法.分享给大家供大家参考,具体如下: <?php echo img_water_mark("2008112023204423477802.gif", "copyImg.png", $savepath=null, $savename="123.gif", $positon=2, $alpha=60); /** * 图片加水印(适用于png/jpg/gif格式) * * @author flynetcn *

  • PHP图片处理之使用imagecopy函数添加图片水印实例

    为图片添加水印也是图片处理中常见的功能.因为只要在页面中见到的图片都可以很轻松地拿到,你辛辛苦苦编辑的图片不想被别人不费吹灰之力拿走就用,所以为图片添加水印以确定版权,防止图片被盗用.制作水印可以使用文字(公司名称加网址),也可以使用图片(公司LOGO),图片水印效果更好一些,因为可以通过一些做图片软件进行美化.使用文字做水印,只需要在图片上画一些文字即可.如果制作图片水印,就需要先了解一下GD库中的imagecopy()函数,能复制图片的一部分.该函数的原型如下所示: 复制代码 代码如下: b

  • php实现图片添加水印功能

    复制代码 代码如下: <?php/** * 图片加水印(适用于png/jpg/gif格式) *  * @author flynetcn * * @param $srcImg 原图片 * @param $waterImg 水印图片 * @param $savepath 保存路径 * @param $savename 保存名字 * @param $positon 水印位置  * 1:顶部居左, 2:顶部居右, 3:居中, 4:底部局左, 5:底部居右  * @param $alpha 透明度 --

  • 功能强大的PHP图片处理类(水印、透明度、旋转)

    非常强大的php图片处理类,可以自定义图片水印.透明度.图片缩放.图片锐化.图片旋转.图片翻转.图片剪切.图片反色. * 图片处理函数功能:缩放.剪切.相框.水印.锐化.旋转.翻转.透明度.反色 * 处理并保存历史记录的思路:当有图片有改动时自动生成一张新图片,命名方式可以考虑在原图片的基础上加上步骤,例如:图片名称+__第几步 具体代码如下: <?php class picture{ var $PICTURE_URL; //要处理的图片 var $DEST_URL = "temp__01

  • asp.net(C#)实现功能强大的时间日期处理类完整实例

    本文实例讲述了asp.net(C#)实现功能强大的时间日期处理类.分享给大家供大家参考,具体如下: using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts

  • 功能强大的PHP发邮件类

    本文示例为大家分享了强大的PHP发邮件类,供大家参考,具体内容如下 <?php class smtp { var $smtp_port; var $time_out; var $host_name; var $log_file; var $relay_host; var $debug; var $auth; var $user; var $pass; var $sock; function smtp($relay_host = "", $smtp_port = 25,$auth

  • 功能强大的PHP POST提交数据类

    本文实例为大家分享了PHP功能强大的 POST提交数据类,供大家参考,具体内容如下 <?php class Request{ public static function post($url, $post_data = '', $timeout = 5){//curl $ch = curl_init(); curl_setopt ($ch, CURLOPT_URL, $url); curl_setopt ($ch, CURLOPT_POST, 1); if($post_data != ''){

  • 常用的php图片处理类(水印、等比缩放、固定高宽)分享

    常用的php图片处理类(水印.等比缩放.固定高宽)分享 <?php //PHP 添加水印 & 比例缩略图 & 固定高度 & 固定宽度 类. class Image_process{ public $source; //原图 public $source_width; //原图宽度 public $source_height; //原图高度 public $source_type_id; public $orign_name; public $orign_dirname; //

  • 简单的java图片处理类(图片水印 图片缩放)

    复制代码 代码如下: import java.awt.AlphaComposite;import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.Image;import java.awt.Toolkit;import java.awt.color.ColorSpace;import java.awt.geom.AffineTransfo

  • 分享php多功能图片处理类

    本文实例为大家分享了多功能php图片处理类,供大家参考,具体内容如下 <?php /** * Image.class.php 图像处理类 * @author Administrator * */ class Image{ private $path=''; /** * 构造方法 * @param unknown $path */ function __construct($path=''){ if (!empty($path)) { $this->path=$path; } } /** +--

  • Kindeditor编辑器添加图片上传水印功能(php代码)

    KindEditor 是一套开源的在线HTML编辑器,开发人员可以用 KindEditor 把传统的多行文本输入框(textarea)替换为可视化的富文本输入框.可以无缝地与 Java..NET.PHP.ASP 等程序集成,比较适合在 CMS.商城.论坛.博客.Wiki.电子邮件等互联网应用上使用. 主要特点: 快速:体积小,加载速度快 开源:开放源代码,高水平,高品质 底层:内置自定义 DOM 类库,精确操作 DOM 扩展:基于插件的设计,所有功能都是插件,可根据需求增减功能 风格:修改编辑器

  • C#实现功能强大的中国农历日历操作类

    本文实例讲述了C#实现功能强大的中国农历日历操作类.分享给大家供大家参考.具体如下: 这个C#类定义了中国农历日历,除了可以输入正常的日历外还可以获得指定年份的生肖.返回年份的干支以及星座.二十四节气.二十八星宿.常用节日等. 部分代码片段如下 /// <summary> /// 传回农历y年闰月的天数 /// </summary> private static int leapDays(int y) { if (leapMonth(y) != 0) { if ((lunarInf

  • PHP添加PNG图片背景透明水印操作类定义与用法示例

    本文实例讲述了PHP添加PNG图片背景透明水印操作类定义与用法.分享给大家供大家参考,具体如下: 图片相关操作类 class ImageTool { private $imagePath;//图片路径 private $outputDir;//输出文件夹 public $memoryImg;//内存图像 public $path; public function __construct($imagePath, $outputDir = null) { $this->imagePath = $im

随机推荐