PHP图像操作类

基于已给出的各种图像操作方法,这里我总结出了PHP图像操作的一个类,包含给图像加入文字水印、图像水印和压缩图片。

读者可自行加入功能。

<?

php

class Image {

	private $info;
	private $type;
	private $iamge;

	/**
	* 打开图片,写入内存
	*
	**/
	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 fontMark($content, $fontUrl, $size, $color, $locate=array('x'=>0,'y'=>0), $angle=0)
	{
		$color = imagecolorallocatealpha($this->image, $color[0], $color[1], $color[2], $color[3]);
		imagettftext($this->image, $size, $angle, $locate['x'], $locate['y'], $color, $fontUrl, $content);
	}

	//图片水印
	public function imageMark($src,$locate,$alpha)
	{
		$info2 = getimagesize($src);
		$type2 = image_type_to_extension($info2[2],false);
		$fun2 = "imagecreatefrom".$type2;
		$water = $fun2($src);
		imagecopymerge($this->image, $water, $locate['x'], $locate['y'], 0, 0, $info2[0], $info2[1], $alpha);
		imagedestroy($water);
	}

	//在浏览器中显示
	public function show()
	{
		header("Content-type:".$this->info['mime']);
		$fun = "image".$this->type;
		$fun($this->image);
	}

	//保存为文件
	public function save($newname)
	{
		$fun = "image".$this->type;
		$fun($this->image, $newname.'.'.$this->type);
	}

	public function __destruct()
	{
		imagedestroy($this->image);
	}
}
时间: 2024-10-24 21:11:43

PHP图像操作类的相关文章

C#中Bitmap类 对图像の操作 可检测图片完整性

public static byte[] BitmapToBytes(Bitmap Bitmap)         {             try             {                 using (MemoryStream ms = new MemoryStream())                 {                     Bitmap.Save(ms, Bitmap.RawFormat);                     byte[]

OpenCV(C++接口)学习笔记2-像素级的图像操作

1.通过成员函数at(int y, int x)访问 这种方法需要知道像素保存的格式. (1) 这是为模板类型的函数,因为一个函数的返回类型只有在运行时才会知道. (2)这个函数返回的是一个向量即Vector,故有下标的操作. image.at<uchar>(j,i)= 255; 在单通道图像中,采用以上语句可以获取图像(i,j)处的灰度值(注:先行后列,一般用j表示行(rows),i表示列(cols)).如果是灰度图像的话,只需要更改一个数据就可以了.如果是rgb图像的话,就要用"

学习笔记TF015:加载图像、图像格式、图像操作、颜色

TensorFlow支持JPG.PNG图像格式,RGB.RGBA颜色空间.图像用与图像尺寸相同(height*width*chnanel)张量表示.通道表示为包含每个通道颜色数量标量秩1张量.图像所有像素存在磁盘文件,需要被加载到内存. 图像加载与二进制文件相同.图像需要解码.输入生成器(tf.train.string_input_producer)找到所需文件,加载到队列.tf.WholeFileReader加载完整图像文件到内存,WholeFileReader.read读取图像,tf.ima

WorldWind源码剖析系列:图像助手类ImageHelper

图像助手类ImageHelper封装了对各种图像的操作.该类类图如下. 提供的主要处理方法基本上都是静态函数,简要描述如下: public static bool IsGdiSupportedImageFormat(string imageFileName) 静态函数用给定的图像文件名称来判断该图像是否是Windows GDI+支持的图像. public static Texture LoadTexture(string textureFileName) 静态函数从指定的图像文件路径加载并返回纹

2014 年10个最佳的PHP图像操作库

2014 年10个最佳的PHP图像操作库 Thomas Boutell 以及众多的开发者创造了以GD图形库闻名的一个图形软件库,用于动态的图形计算. GD提供了对于诸如C, Perl, Python, PHP, OCaml等等诸多编程语言的支持. 除了生成HTML输出之外, 你还可以使用php以众多的像 PNG, JPEG, GIF, WBMP,以及 XPM这样的图形文件格式来创建和计算图形文件. 并且,php的使用还能让你可以直接向一个浏览器输出图像流. 为了做到这一点,你需要借助于GD库图像

2014 年10个最佳的PHP图像操作库--留着有用

Thomas Boutell 以及众多的开发者创造了以GD图形库闻名的一个图形软件库,用于动态的图形计算. GD提供了对于诸如C, Perl, Python, PHP, OCaml等等诸多编程语言的支持. 除了生成HTML输出之外, 你还可以使用php以众多的像 PNG, JPEG, GIF, WBMP,以及 XPM这样的图形文件格式来创建和计算图形文件. 并且,php的使用还能让你可以直接向一个浏览器输出图像流. 为了做到这一点,你需要借助于GD库图像功能的使用来编译php. 在这篇文章中,你

图像操作小结

花了两天时间弄图像. 今天做一个小结 关于图像操作. 小结 相关类.Drawable  就是一个可画的对象. 官方文档原话是:A Drawable is a general abstraction for "something that can be drawn."Canvas 画布. 官方文档如是说: 用这个类来画一些东西, 前提要有4个基本的部件    1. 一个bitmap用来确定像素. 可以看一下Canvas() 的构造函数, 有三个: Canvas(); Canvas(Bit

C#对sqlite操作类

/// <summary>    /// SQLite 操作类    /// Author Light    /// </summary>    public class SQLite    {        /// <summary>        /// 数据库        /// </summary>        public static string dataBasePath; public static string dataBasePass

OpenCV常用图像操作和鼠标操作

最近的工作经常需要对图像进行操作,也需要用鼠标对图像进行各种操作,于是自己整理和编写了这个类,总结了常用的基于OpenCV对图像进行的操作. 这个类我也将继续完善和丰富下去,需要的朋友可以直接使用. 如果有什么疏漏的地方还请多多指教. 首先是头文件: /* ******* ccv.h ********** ********* opencv常用操作函数声明 ********** */ /* author: autumoon */ #ifndef _CCV_H_ #define _CCV_H_ #i