PHP图像函数

http://blog.sina.com.cn/s/blog_68b56adb0100vq1a.html

相册程序、图片缩略图的生成是必不可少的一个功能,用PHP的GD函数为图片生成缩略图是很简单的,核心就一个

imagecopyresampled函数。主要麻烦的是要考虑图片的各种长、宽、缩放比等等东西。

如果对缩略图的质量要求不高可以使用imagecopyresized()函数,imagecopyresize()所生成的图像比较粗糙,但是速度较快;imagecopyresampled()函数是GD 2.x后新增加的函数,字面上的意思是会对图片进行重新采样(resampling),GD是采用插值算法生成更平滑的图像,但是速度相对imagecopyresize()函数来说要慢一些。

imagecopyresample() 共有10个参数,前面两个是目标文件和源文件,后面4个分别是dst和src的width,height,中间的 src_x,src_y,dst_x,dst_y看得比较晕。。例子里面都是设置为0,后来试了下,发现把这4个参数写成 dst_start_x, dst_start_y, src_start_x, src_start_y的话就很好理解了。举个例子说吧。假如要在缩略图上下各留10 pixel的空白,那就可以用imagecopyresampled($dst, $src, dst_start_x, dst_start_y + 10, src_start_x, src_start_y, dst_width, dst_height – 20, src_width, src_height)来实现。

用imagecreatetruecolor(int x,int y)建立的是一幅大小为 x和 y的黑色图像(默认为黑色),如想改变背景颜色则需要用填充颜色函数imagefill($img,0,0,$color);

imagecreate 新建一个空白图像资源,用imagecolorAllocate()添加背景色

<?php

$img =
imagecreatetruecolor(100,100);

//创建真彩图像资源

$color =
imagecolorAllocate($img,200,200,200);  
//分配一个灰色

imagefill($img,0,0,$color);                
// 从左上角开始填充灰色

header(‘content-type:image/jpeg‘);  
//jpg格式

imagejpeg($img);                              //显示灰色的方块

?>

<?php

$img = imagecreate(100,100);

$color = imagecolorallocate($img,200,200,200);

header(‘content-type:image/jpeg‘);

//jpg格式

imagejpeg($img);                              //显示灰色的方块

?>

时间: 2024-11-05 14:43:54

PHP图像函数的相关文章

php基础教程:图像函数举例(3)

php基础教程:图像函数举例(3) 例二: 阴阳图 <?php $width=400; $height=400; $image=imagecreatetruecolor($width,$height); //提取颜色 $color_black=imagecolorallocate($image,0,2,0);// $color_white=imagecolorallocate($image,255,255,255);//白色 $color_blue=imagecolorallocate($ima

Sql Server函数全解&lt;三&gt;数据类型转换函数和文本图像函数

一:数据类型转换函数 在同时处理不同数据类型的值时,SQL Server一般会自动进行隐士类型转换.对于数据类型相近的值是有效的,比如int和float,但是对于其它数据类型,例如整型和字符类型,隐士转换就无法实现了,此时必须使用显示转换.为了实现这种显示转换,T-SQL提供了两个显示转换函数,分别是CAST和CONVERT函数. CAST(x AS type)和CONVERT(type,x)函数将一个类型的值转换为另一个类型的值.eg: select CAST('121231' AS DATE

SQL Server文本和图像函数

文本和图像函数 1.查找特定字符串PATINDEX 语法与字符串的patindex一样. 2.获取文本指针TEXTPTR SQLServer在存储文本类型(ntext.text)和图像数据类型(image)时,默认情况是与常见的基本数据类型(如char.int等)这样的数据时单独存储的,也就是说,如 果一个表中的字段有基本类型和图像文本类型,那么,在输入数据时,基本类型和图像文件数据并不是保存在同一个页面上,而是分离存储的.分离存储后,那么基本类型数据和文本图像类型数据所在的页面就是通过文本指针

封装了opencv的旋转图像函数

void ljb_cv_rotate_buf_size(IplImage *imgSrc, double degree, int *w_dst, int *h_dst) { double angle, a, b; int w_src, h_src; angle = degree * CV_PI / 180.; a = sin(angle), b = cos(angle); w_src = imgSrc->width; h_src = imgSrc->height; *w_dst = (int)

图像函数 imagecreatetruecolor()和imagecreate()的异同点

共同点:这两个函数都是用于创建画布 区别: 1.不同的是创建画布和为画布填充颜色的流程不一样; 用imagecreatetruecolor(int x,int y)创建的是一幅大小为 x和 y的图像(默认为黑色),如想改变背景颜色则需要为画布分配颜色imagecolorallcollate(resource:image,red:int,green:int,blue:int),然后为画布填充颜色函数imagefill(resource:image,int x, int y,$color); 具体代

VC++6.0下通过opencv读入图像并反色

第一个opencv测试程序: 不多说,直接上代码,代码注释很详尽: //////////////////////////////////////////////////////////////////////// // // 该程序从文件中读入一幅图像,将之反色,然后显示出来. // //////////////////////////////////////////////////////////////////////// #include <stdlib.h> #include <

Transact-SQL编程

Transact-SQL (1)数据定义语言(DDL) create tabl/*创建表*/ alter table/*修改表*/ drop table/*删除表*/ (2)数据操纵语言(DML) select /*从一个表或对个表中检索数据*/ delete/*从表中删除数据*/ insert/*向一个表添加数据*/ update/*修改表中已有的数据*/ (3)数据控制语句(DCL) grant/*授予权限*/ remove/*撤销权限*/ deny/*拒绝权限*/ (1)变量,常量 常量是

[转载+原创]Emgu CV on C# (四) —— Emgu CV on 二值化

重点介绍了二值化原理及数学实现,并利用emgucv方法编程实现. 一.理论概述(转载,如果懂图像处理,可以略过,仅用作科普,或者写文章凑字数)  1.概述 图像二值化是图像处理中的一项基本技术,也是很多图像处理技术的预处理过程. 图像的预处理在进行图像二值化操作前要对图像进行预处理,包括彩色图像灰化和增强.由于选取阈值需要参照直方图,因此在图像进行处理后,我们再获取图像的直方图以帮助选取阈值.整个流程如下所示: 读取图像→灰度图像→图像增强→图像直方图→二值化处理 2.数学原理(转载,基本可以不

ROI的使用与批量存储

1. ROI简介 ROI(Region of Interest)是指图像中的一个矩形区域,可能你后续的程序需要单独处理这一个小区域,如图所示: 图1 ROI的解释 ROI在实际工作中有很重要的作用,在很多情况下,使用它们会提高计算机视觉代码的执行速度.这是因为它们允许对图像的某一小部分进行操作,而不是对整个图像进行运算.在OpenCV中,所有的对图像操作的函数都支持ROI,如果你想打开ROI,可以使用函数cvSetImageROI(),并给函数传递一个矩形子窗口.而cvResetImageROI