很强的 PHP 图片处理类

* 基本图片处理,用于完成图片缩入,水印添加

* 当水印图超过目标图片尺寸时,水印图能自动适应目标图片而缩小

* 水印图可以设置跟背景的合并度


源代码在最后下载。例子:

 

<?php
//JPG格式
require_once('lib/thumb.class.php');
$t = new ThumbHandler();
// 基本使用
$t->setSrcImg("img/test1.jpg");
$t->setDstImg("tmp/new_test1.jpg");
$t->setDstImgBorder(4,"#dddddd");
// 指定缩放比例
$t->createImg(300,200);
?>​

<?php
//GIF格式
require_once('lib/thumb.class.php');
$t = new ThumbHandler();
// 基本使用
$t->setSrcImg("img/test2.gif");
$t->setDstImg("tmp/new_test2.gif");
$t->setDstImgBorder(4,"#dddddd");
// 指定缩放比例
$t->createImg(100,100);
?>​

<?php
//PNG格式
require_once('lib/thumb.class.php');
$t = new ThumbHandler();
// 基本使用
$t->setSrcImg("img/test3.png");
$t->setDstImg("tmp/new_test3.png");
$t->setDstImgBorder(4,"#dddddd");
//指定压缩级别(0~9),重要
$t->setImgDisplayQuality(9);
// 指定缩放比例
$t->createImg(50,50);
?>​

<?php
//JPG格式
require_once('lib/thumb.class.php');
$t = new ThumbHandler();
// 基本使用
$t->setSrcImg("img/test1.jpg");
$t->setMaskFontColor("#000000");
//设置文字水印
$t->setMaskWord("test");
//指定水印位置
$t->setMaskPosition(4);
$t->setDstImg("tmp/new_test4.jpg");
// 指定缩放比例
$t->createImg(300,280);
?>​

<?php
require_once('lib/thumb.class.php');
$t = new ThumbHandler();
$t->setSrcImg("img/test1.jpg");
// 指定字体文件地址
$t->setMaskFont("fonts/TitilliumMaps29L002.otf");
$t->setMaskFontSize(20);
$t->setMaskFontColor("#000000");
$t->setMaskWord("hello world");
//设置水印横向偏移
$t->setMaskOffsetX(50);
//设置水印纵向偏移
$t->setMaskOffsetY(55);
//设置文字合并程度
$t->setMaskTxtPct(20);
//设置缩略图边框
$t->setDstImg("tmp/new_test5.jpg");
$t->setDstImgBorder(10,"#dddddd");
$t->createImg(300,200);
?>​

<?php
//   自动裁切:
//    程序会按照图片的尺寸从中部裁切最大的正方形,并按目标尺寸进行缩略
require_once ('lib/thumb.class.php');
$t = new ThumbHandler ();
$t->setSrcImg ( "img/test1.jpg" );
$t->setCutType ( 1 ); //这一句就OK了
$t->setDstImg ( "tmp/new_test6.jpg" );
$t->createImg ( 300, 200 );
?>​

<?php
//手工裁切:
//    程序会按照指定的位置从源图上取图
require_once ('lib/thumb.class.php');
$t = new ThumbHandler ();
$t->setSrcImg ( "img/test1.jpg" );
$t->setCutType ( 2 ); //指明为手工裁切
$t->setSrcCutPosition ( 100, 100 ); // 源图起点坐标
$t->setRectangleCut ( 300, 200 ); // 裁切尺寸
$t->setDstImg ( "tmp/new_test7.jpg" );
$t->createImg ( 300, 200 );
?>​

 

下载源代码

 

 

PS:补充一些关于网络图片的一些基础知识

 

原文链接:http://woqilin.blogspot.com/2012/06/php.html

个人主页:https://plus.google.com/+sherlockwang/posts

猜你喜欢

转载自wangzq-phper.iteye.com/blog/2294468