php图片操作,PHP图片操作类

最近因为工作挺忙的,好久没更新日志了,分享一个自己最近写的php图片操作类,提供给那些需要的朋友……<?php

/*

========================================================================================================================================

============================================================Image操作库=========================================================

========================================================================================================================================

实现图片的文字水印、图片水印、略缩图、以及生成这些图之后的保存

使用方式

1.__construct($src),初始化函数,需传入图片位置

2.thumb($width,$height),压缩图片函数,传入压缩后图片大小

3.show(),输出函数,将处理过后的图片输出到页面上

4.save($name),保存图片,需传入新图片的名称

5.textmark("neirong",$font,$x,$y),文字水印函数,需传入水印内容,字体类型,字体宽高。

6.imgMark($source,$local,$alpha),图片水印,需传入水印图片文件,水印显示的位置等(数组),水印透明度

*/

class Image{

public $image;//内存中的图片

public $info;//图片信息

public $type;//图片类型

public $font="msyh.ttf";//预置字体

/*进行图片初始化,在内存中建立图片*/

public function __construct($src){

$this->info=getimagesize($src);

$this->type=image_type_to_extension($this->info[2],false);

$fun="imagecreatefrom{$this->type}";

$this->image=$fun($src);

}

/*压缩图片*/

public function thumb($width,$height){

$image_thumb=imagecreatetruecolor($width, $height);

imagecopyresampled($image_thumb, $this->image, 0, 0, 0, 0, $width, $height, $this->info[0], $this->info[1]);

imagedestroy($this->image);

$this->image=$image_thumb;

}

/*输出图片*/

public function show(){

header("content-type:".$this->info['mime']);

$func="image{$this->type}";

$func($this->image);

}

/*保存图片*/

public function save($name='Newimage'){

header("content-type:".$info['mime']);

$func="image{$this->info[2]}";

$func($this->image,$name.'.'.$this->info[2]);

}

/*添加文字水印*/

public function textMark($content="watermark",$font="20",$x="20",$y="60"){

$color=imagecolorallocatealpha($this->image, 255, 255, 255, 30);//设置字体颜色、透明度,3个255是RGB白色

imagettftext($this->image, $font, 10, $x, $y, $color, $this->font, $content);/*为图片应用宽高,倾斜度,字体,内容*/

}

/*添加图片水印*/

public function imgMark($source,$local,$alpha){

$info2=getimagesize($source);

$type2=image_type_to_extension($info2[2],false);

$fun2="imagecreatefrom{$type2}";

$water=$fun2($source);

imagecopymerge($this->image, $water, $local[0], $local[1], 0, 0, $local[2], $local[3], $alpha);/*参数依次是源图片,水印图片,水印显示的坐标点,水印图片所开始取的位置,水印图片所取的宽度和高度,透明度*/

imagedestroy($this->image);

}

/*销毁图片*/

public function __destruct(){

imagedestroy($this->image);

}

}

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值