php随笔1-php图片处理

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體:   |    |    |  超大  

php图片处理的知识内容

upload_image.php:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"><head><metahttp-equiv="Content-Type"content="text/html; charset=gb2312"/><title>图片上传页</title><styletype="text/CSS">.file-box{position:relative;width:340px}.txt{height:22px;border:1px solid #cdcdcd;width:200px;border-right:none;}.btn{background-color:#FFF;border:1px solid #CDCDCD;height:26px;width:70px;}.file{position:absolute;top:0;right:80px;height:24px;filter:alpha(opacity:0);opacity:0;width:260px}</style><scripttype="text/javascript">//JS获取路径 ---成功functionchange()

{varpic=document.getElementById('pic');varfile=document.getElementById('fileField');

pic.src=file.value;if(file.files){if(file.files.item(0)){//src = window.URL.createObjectURL(fileObj.files[0]);url=window.URL.createObjectURL(file.files.item(0));

document.getElementById('textfield').value=pic.src ;

pic.src=url;

}

}

}</script></head><body><formaction="check_image.php"method="post"enctype="multipart/form-data"><tableborder="1"><tr><td>上传人名称:</td><td><inputtype="text"class='txt'name="username"/></td></tr><tr><td>*上传图片:</td><td><divclass="file-box"><inputtype='text'name='textfield'id='textfield'class='txt'/><inputtype='button'class='btn'value='浏览...'/><

br/><inputtype="file"name="uploadfile"class="file"id="fileField"size="28"onchange="change();"/><inputtype="hidden"id="theFilePath"name="theFilePath"value=""></div></td></tr><tr><tdcolspan="2"><small><em>* 可接受的图像格式:GIF,JPG、JPEG和PNG。上传后图片会变为1280X960大小。</em></small></td></tr><tr><td>图片标题:</td><td><inputtype="text"class='txt'name="caption"/></td></tr><tr><tdcolspan="2"style="text-align:center;"><inputtype="submit"name="submit"value="Upload"class='btn'/></td></tr></table><imgsrc=""name="pic"id="pic"/><

br/></form></body></html>

check_image.php 集合图片上传,MySQL数据库保存,图片放大至1280X960,图片加文字,图片PS处理,图片缩略图,图片打LOGO水印。功能集合强大。

<?php//sessionsession_start();if($_POST['submit'] == 'Upload')

{if($_FILES['uploadfile']['error'] !=UPLOAD_ERR_OK)

{switch($_FILES['uploadfile']['error'])

{caseUPLOAD_ERR_INI_SIZE://其值为 1,上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值die('上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值');

break;caseUPLOAD_ERR_FORM_SIZE://其值为 2,上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值die('上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值');

break;caseUPLOAD_ERR_PARTIAL://其值为 3,文件只有部分被上传die('文件只有部分被上传');

break;caseUPLOAD_ERR_NO_FILE://其值为 4,没有文件被上传die('没有文件被上传');

break;caseUPLOAD_ERR_NO_TMP_DIR://其值为 6,找不到临时文件夹die('找不到临时文件夹');

break;caseUPLOAD_ERR_CANT_WRITE://其值为 7,文件写入失败die('文件写入失败');

break;caseUPLOAD_ERR_EXTENSION://其他异常die('其他异常');

break;

}

}//判断图片的后缀switch($type)

{caseIMAGETYPE_GIF:$ext= '.gif';

break;caseIMAGETYPE_JPEG:$ext= '.jpg';

break;caseIMAGETYPE_PNG:$ext= '.png';

break;default:die('您上传的文件不支持的文件类型。');

}//关键位置-取出文件后缀$_SESSION['ext'] =$ext;

}/*//改变图像的大小为1280x960的方法

function resizepic($imgsrc,$imagename,$toimgwidth,$toimgheigth)

{

//$imgsrc:图片路径 $imgname: 图片保存的名称 $toimgwidth: 图片最终的宽度 $toimgheigth: 图片最终的高度

$arr = getimagesize($imgsrc);

$imgWidth = $toimgwidth;

$imgHeigth = $toimgheigth;

if($_SESSION['ext'] == '.jpg')

{

header('Content-Type:image/jpeg');

$imgSrc = imagecreatefromjpeg($imgsrc);

}

if($_SESSION['ext'] == '.png')

{

header('Content-Type:image/png');

$imgSrc = imagecreatefrompng($imgsrc);

}

if($_SESSION['ext'] == '.gif')

{

header('Content-Type:image/gif');

$imgSrc = imagecreatefromgif($imgsrc);

}

$image = imagecreatetruecolor($imgWidth, $imgHeigth);

imagecopyresampled($image,$imgSrc,0,0,0,0,$imgWidth,$imgHeigth,$arr[0],$arr[1]);

if($_SESSION['ext'] == '.jpg')

{

imagejpeg($image,$dir.'/'.$imagename);

}

if($_SESSION['ext'] == '.png')

{

imagepng($image,$dir.'/'.$imagename);

}

if($_SESSION['ext'] == '.gif')

{

imagegif($image,$dir.'/'.$imagename);

}

//销毁由url生成的图片

imagedestroy($image);

}*///创建moviesite数据库--MySQL$coon=mysql_connect("localhost","root","lifu") ordie('不能连接到数据库');if(!$coon)

{die('无法连接: ' .mysql_error());

}if(mysql_query("CREATE DATABASE if not exists moviesite",$coon))//如果没有就创建数据库{echo"数据库创建成功<br>";

}else{echo"数据库创建错误: " .mysql_error();

}//创建images表mysql_select_db("moviesite",$coon);//如果没有就创建表$sql= "CREATE TABLE if not exists images

(

image_id int NOT NULL AUTO_INCREMENT,PRIMARY KEY(image_id),

image_caption varchar(15),

image_username varchar(15),

image_filename varchar(15),

image_date datetime

)";mysql_query($sql,$coon);mysql_close($coon);//修改图片效果$db=mysql_connect('localhost','root','lifu') ordie('不能连接到数据库');mysql_select_db('moviesite',$db) ordie(mysql_error($db));//上传文件的路径$dir= 'D:\phpStudy\WWW\loadimages\images';//缩略图的路径$thumbdir= 'D:\phpStudy\WWW\loadimages\images\thumbs';//设置环境变量putenv('GDFONTPATH='.'C:\Windows\Fonts');$font= "C:\Windows\Fonts\arial.ttf";//upload_image.php页面传递过来的参数,如果是上传图片if($_POST['submit'] == 'Upload')

{/*代码重复

if($_FILES['uploadfile']['error'] != UPLOAD_ERR_OK)

{

switch($_FILES['uploadfile']['error'])

{

case UPLOAD_ERR_INI_SIZE: //其值为 1,上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值

die('上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值');

break;

case UPLOAD_ERR_FORM_SIZE: //其值为 2,上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值

die('上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值');

break;

case UPLOAD_ERR_PARTIAL: //其值为 3,文件只有部分被上传

die('文件只有部分被上传');

break;

case UPLOAD_ERR_NO_FILE: //其值为 4,没有文件被上传

die('没有文件被上传');

break;

case UPLOAD_ERR_NO_TMP_DIR: //其值为 6,找不到临时文件夹

die('找不到临时文件夹');

break;

case UPLOAD_ERR_CANT_WRITE: //其值为 7,文件写入失败

die('文件写入失败');

break;

case UPLOAD_ERR_EXTENSION: //其他异常

die('其他异常');

break;

}

}*/$image_caption=$_POST['caption'];$image_username=$_POST['username'];$image_date=date('Y-m-D');/*getimagesize方法返回一个数组,

$width : 索引 0 包含图像宽度的像素值,

$height : 索引 1 包含图像高度的像素值,

$type : 索引 2 是图像类型的标记:

= GIF,2 = JPG, 3 = PNG, 4 = SWF, 5 =PSD, 6 = BMP,

= TIFF(intel byte order),8 = TIFF(motorola byte order),

= JPC,10 = JP2,11 = JPX,12 = JB2,13 = SWC,14 = IFF,15 = WBMP,16 = XBM,

$attr : 索引 3 是文本字符串,内容为“height="yyy" width="xxx"”,可直接用于 IMG 标记*/list($width,$height,$type,$attr) =getimagesize($_FILES['uploadfile']['tmp_name']);//imagecreatefromgXXX方法从一个url路径中创建一个新的图片switch($type)

{caseIMAGETYPE_GIF:$image= imagecreatefromgif($_FILES['uploadfile']['tmp_name']) ordie('你上传的文件是不支持的文件类型');$ext= '.gif';$array=getimagesize($_FILES['uploadfile']['tmp_name']);

break;caseIMAGETYPE_JPEG:$image= imagecreatefromjpeg($_FILES['uploadfile']['tmp_name']) ordie('你上传的文件是不支持的文件类型');$ext= '.jpg';$array=getimagesize($_FILES['uploadfile']['tmp_name']);

break;caseIMAGETYPE_PNG:$image= imagecreatefrompng($_FILES['uploadfile']['tmp_name']) ordie('你上传的文件是不支持的文件类型');$ext= '.png';$array=getimagesize($_FILES['uploadfile']['tmp_name']);

break;default:die('您上传的文件不支持的文件类型。');

}//将图片改为1280X960

//新建一个指定大小的真彩色图像big$big= imagecreatetruecolor(1280, 960);//重采样拷贝部分图像并调整大小为1280X960imagecopyresampled($big,$image, 0, 0, 0, 0, 1280, 960,$array[0],$array[1]);$query= 'insert into images(image_caption,image_username,image_date) values ("'.$image_caption.'","'.$image_username.'",now())';mysql_query($query,$db) ordie(mysql_error($db));$last_id=mysql_insert_id();//用写入的id作为图片的名字,避免同名的文件存放在同一目录中$imagename=$last_id.$ext;$image_id=$last_id;$query= 'update images set image_filename="'.$imagename.'" where image_id='.$last_id;mysql_query($query,$db) ordie(mysql_error($db));//有url指定的图片创建图片并保存到指定目录switch($type)

{caseIMAGETYPE_GIF:imagegif($big,$dir.'/'.$imagename);

break;caseIMAGETYPE_JPEG:imagejpeg($big,$dir.'/'.$imagename);

break;caseIMAGETYPE_PNG:imagepng($big,$dir.'/'.$imagename);

break;

}//销毁由url生成的图片imagedestroy($big);

imagedestroy($image);

}else//如果图片已经上传,则从数据库中取图片名字{$query= 'select image_id,image_caption,image_username,image_date from images where image_id='.$_POST['id'];$result=mysql_query($query,$db) ordie(mysql_error($db));//将结果集转换成关联数据,再将关联数组的键名当作变量名,值作为变量的值。extract(mysql_fetch_assoc($result));list($width,$height,$type,$attr) =getimagesize($dir.'/'.$image_id.$_SESSION['ext']);

}//如果是保存图片if($_POST['submit'] == 'Save')

{if(isset($_POST['id']) &&ctype_digit($_POST['id']) &&file_exists($dir.'/'.$_POST['id'].$_SESSION['ext']))

{if($_SESSION['ext'] == '.jpg')

{$image= imagecreatefromjpeg($dir.'/'.$_POST['id'].$_SESSION['ext']);

}if($_SESSION['ext'] == '.png')

{$image= imagecreatefrompng($dir.'/'.$_POST['id'].$_SESSION['ext']);

}if($_SESSION['ext'] == '.gif')

{$image= imagecreatefromgif($dir.'/'.$_POST['id'].$_SESSION['ext']);

}

}else{die('指定的无效图像');

}$effect= (isset($_POST['effect'])) ?$_POST['effect'] : -1;switch($effect)

{caseIMG_FILTER_NEGATE:imagefilter($image, IMG_FILTER_NEGATE);//将图像中所有颜色反转

break;caseIMG_FILTER_GRAYSCALE:imagefilter($image, IMG_FILTER_GRAYSCALE);//将图像转换为灰度的

break;caseIMG_FILTER_EMBOSS:imagefilter($image, IMG_FILTER_EMBOSS);//使图像浮雕化

break;caseIMG_FILTER_GAUSSIAN_BLUR:imagefilter($image, IMG_FILTER_GAUSSIAN_BLUR);//用高斯算法模糊图像

break;

}//图片指定位置打印文字if(isset($_POST['emb_caption']))

{/*array imagettftext ( resource $image , float $size , float $angle , int $x , int $y , int $color , string $fontfile , string $text )

$image 图像源 $size字体大小 $angle 逆时针旋转角度 $fontfile 字体类型 $text 文本内容*/imagettftext($image, 12 , 0 , 20 , 20 , 0 ,$font,$image_caption);

}//图片指定位置打LOGOif(isset($_POST['emb_logo']))

{//获取水印图片的尺寸并创建水印list($wmk_width,$wmk_height) =getimagesize('images/logo.png');//$x = ($width-$wmk_width) / 2;

//$y = ($height-$wmk_height)/2;$x=$width-$wmk_width;$y=$height-$wmk_height;$wmk= imagecreatefrompng('images/logo.png');//把水印图片和原图片合并在一起/*将 wmk 图像中坐标从 0,0 开始,宽度为 $wmk_width,高度为 $wmk_height 的一部分拷贝到 image 图像中坐标为 $x 和 $y 的位置上。

两图像将根据 pct=20 来决定合并程度,其值范围从 0 到 100。当 pct = 0 时,实际上什么也没做,当为

100 时对于调色板图像本函数和 imagecopy() 完全一样,它对真彩色图像实现了 alpha 透明。*/imagecopymerge($image,$wmk,$x,$y, 0 , 0 ,$wmk_width,$wmk_height, 20);//清除水印图片imagedestroy($wmk);

}//缩略图大小$thumb_width=$width* 0.10;$thumb_height=$height* 0.10;//创建一个缩略图$thumb= imagecreatetruecolor($thumb_width,$thumb_height);

imagecopyresampled($thumb,$image, 0, 0, 0, 0,$thumb_width,$thumb_height,$width,$height);//保存缩略图if($_SESSION['ext'] == '.jpg')

{

imagejpeg($thumb,$thumbdir. '/' .$_POST['id'] .$_SESSION['ext'], 100);

}if($_SESSION['ext'] == '.png')

{imagepng($thumb,$thumbdir. '/' .$_POST['id'] .$_SESSION['ext']);

}if($_SESSION['ext'] == '.gif')

{

imagegif($thumb,$thumbdir. '/' .$_POST['id'] .$_SESSION['ext']);

}echo"修改好的缩略图:<img src='"."images/thumbs/" .$_POST['id'] .$_SESSION['ext']."' alt='' /> <br />";//清除缩略图imagedestroy($thumb);//保存原图if($_SESSION['ext'] == '.jpg')

{

imagejpeg($image,$dir.'/'.$_POST['id'].$_SESSION['ext'] , 100);

}if($_SESSION['ext'] == '.png')

{//压缩等级必须是0-9的png文件imagepng($image,$dir.'/'.$_POST['id'].$_SESSION['ext']);

}if($_SESSION['ext'] == '.gif')

{

imagegif($image,$dir.'/'.$_POST['id'].$_SESSION['ext']);

}echo"修改好的大图:<img src='"."images/" .$_POST['id'] .$_SESSION['ext']."' alt='' /> <br />";?>

<html>

<head>

<title>你的图片在这!</title>

</head>

<body>

<h1>你的图片被保存!</h1>

<img src="images/<?php echo$_POST['id'];?>.jpg" alt="" />

</body>

</html>

<?php

}else{?>

<html>

<head>

<title>你的图片在这!</title>

</head>

<body>

<p>这里是你上传到服务器上的图片:</p>

</body>

</html>

<?phpif($_POST['submit'] == 'Upload')

{$imagename= 'images/'.$image_id.$_SESSION['ext'];

}else{$imagename= 'image_effect.php?id='.$image_id.'&e='.$_POST['effect'];if(isset($_POST['emb_caption']))

{$imagename.= '&capt='.urlencode($image_caption);

}if(isset($_POST['emb_logo']))

{$imagename.= '&logo=1';

}

}?>

<div>

<?phpecho"src:".$imagename; ?>

<img src="<?php echo$imagename;?>" style="float:left;" alt="" />

<table>

<tr>

<td>Image saveas:</td>

<td><?phpecho"moviesite数据库images表第".$image_id."行!" ;?></td>

</tr>

<tr>

<td>Height:</td>

<td><?phpecho$height;?></td>

</tr>

<tr>

<td>Widht:</td>

<td><?phpecho$width;?></td>

</tr>

<tr>

<td>Uploaddate:</td>

<td><?phpecho$image_date;?></td>

</tr>

</table>

<p>你可以从下面的选项列表中对你的图像应用一个特殊的效果。注:使用任何一个过滤器,保存一个图像 <em>可以撤消</em></p>

<form action="<?php echo$_SERVER['PHP_SELF'];?>" method="post">

<input type="hidden" name="id" value="<?php echo$image_id;?>"/>

<select name="effect" id="">

<option value="-1">保持原状</option>

<?phpecho'<option value="'.IMG_FILTER_GRAYSCALE.'" ';if(isset($_POST['effect']) &&$_POST['effect'] ==IMG_FILTER_GRAYSCALE)

{echo'selected="selected"';

}echo' >灰度图像</option>';echo'<option value="'.IMG_FILTER_GAUSSIAN_BLUR.'"';if(isset($_POST['effect']) &&$_POST['effect'] ==IMG_FILTER_GAUSSIAN_BLUR)

{echo' selected="selected"';

}echo'>高斯算法模糊图像</option>';echo'<option value="'.IMG_FILTER_EMBOSS.'"';if(isset($_POST['effect']) &&$_POST['effect'] ==IMG_FILTER_EMBOSS)

{echo'selected="selected"';

}echo'>图像浮雕化</option>';echo'<option value="'.IMG_FILTER_NEGATE.'"';if(isset($_POST['effect']) &&$_POST['effect'] ==IMG_FILTER_NEGATE)

{echo'selected="selected"';

}echo'>图像中所有颜色反转</option>';?>

</select><br />

<?phpecho'<input type="checkbox" name="emb_caption"';if(isset($_POST['emb_caption']))

{echo' checked="checked"';

}echo' />是否嵌入在图像的标题?';echo'<br />';//添加水印选项echo'<input type="checkbox" name="emb_logo" ';if(isset($_POST['emb_logo']))

{echo'checked="checked"';

}echo' />是否嵌入668LOGO?'. '<br />';?>

<input type="submit" value="Save" name="submit" />

<!--<input type="submit" value="Preview" name="submit" />-->

</form>

</div>

<?php

}mysql_close($db);?>

本来有一个Preview的,后来没弄了,但是代码还是给上 image_effect.php,已经把Preview注释掉了。

<?php//上传文件的路径$dir= 'D:\phpStudy\WWW\loadimages\images';//设置环境变量

putenv('GDFONTPATH='.'C:\Windows\Fonts');$font= "C:\Windows\Fonts\arial.ttf";if(isset($_GET['id']) &&ctype_digit($_GET['id']) &&file_exists($dir.'/'.$_GET['id'].$_SESSION['ext']))

{$image= imagecreatefromjpeg($dir.'/'.$_GET['id'].$_SESSION['ext']);

}else{die('invalid image specified');

}$effect= (isset($_GET['e'])) ?$_GET['e'] : -1;switch($effect)

{caseIMG_FILTER_NEGATE:imagefilter($image,IMG_FILTER_NEGATE);

break;caseIMG_FILTER_GRAYSCALE:imagefilter($image,IMG_FILTER_GRAYSCALE);

break;caseIMG_FILTER_EMBOSS:imagefilter($image,IMG_FILTER_EMBOSS);

break;caseIMG_FILTER_GAUSSIAN_BLUR:imagefilter($image,IMG_FILTER_GAUSSIAN_BLUR);

break;

}if(isset($_GET['capt']))

{//echo $_GET['capt'];imagettftext($image, 12, 0, 20, 20, 0,$font,$_GET['capt']);

}if(isset($_GET['logo']))

{list($widht,$height) =getimagesize($dir.'/'.$_GET['id'].$_SESSION['ext']);list($wmk_width,$wmk_height) =getimagesize('images/logo.png');$x=$width-$wmk_width;$y=$height-$wmk_height;$wmk= imagecreatefrompng('images/logo.png');

imagecopymerge($image,$wmk,$x,$y, 0 , 0 ,$wmk_width,$wmk_height, 20);

imagedestroy($wmk);

}if($_SESSION['ext'] == '.jpg')

{header('Content-Type:image/jpeg');

imagejpeg($image, '' , 100);

}if($_SESSION['ext'] == '.png')

{header('Content-Type:image/png');

imagepng($image, '');

}if($_SESSION['ext'] == '.gif')

{header('Content-Type:image/gif');

imagegif($image, '');

}?>

内容总结:

本人是自学的php,代码书写多有不规范之处,并且有些位置的代码有重复累赘。以后需要加强。

upload_image.php: 主要是 HTML+Javascritp+Css 没什么可说的,主要就Javascript调用 window.URL.createObjectURL(fileObj) 方法。获取图片的相对路径,并做图片的展示。

check_image.php: 1、session 用于保存从 upload_image.php 传递过来的图片的后缀名。

2、数据库moviesite创建,images表的创建

$sql= "CREATE TABLE if not exists images

(

image_id int NOT NULL AUTO_INCREMENT,

PRIMARY KEY(image_id),

image_caption varchar(15),

image_username varchar(15),

image_filename varchar(15),

image_date datetime

)";

3、使用 imagecreatetruecolor 和 imagecopyresampled 将图片大小调整为1280X960.然后将图片上传保存到指定位置。

//将图片改为1280X960

//新建一个指定大小的真彩色图像big$big= imagecreatetruecolor(1280, 960);//重采样拷贝部分图像并调整大小为1280X960imagecopyresampled($big,$image, 0, 0, 0, 0, 1280, 960,$array[0],$array[1]);

4、如果图片已经上传,则从数据库中取图片名字

$query= 'select image_id,image_caption,image_username,image_date from images where image_id='.$_POST['id'];$result=mysql_query($query,$db) ordie(mysql_error($db));//将结果集转换成关联数据,再将关联数组的键名当作变量名,值作为变量的值。extract(mysql_fetch_assoc($result));list($width,$height,$type,$attr) =getimagesize($dir.'/'.$image_id.$_SESSION['ext']);

5、boolimagefilter(resource$src_im,int$filtertype[,int$arg1[,int$arg2[,int$arg3]]] ) 对图像使用过滤器 PS图片

imagefilter() 把过滤器 filtertype 应用到图像上,在需要时使用 arg1,arg2 和 arg3。

filtertype 可以是下列中的一个:

IMG_FILTER_NEGATE:将图像中所有颜色反转。

IMG_FILTER_GRAYSCALE:将图像转换为灰度的。

IMG_FILTER_BRIGHTNESS:改变图像的亮度。用 arg1 设定亮度级别。

IMG_FILTER_CONTRAST:改变图像的对比度。用 arg1 设定对比度级别。

IMG_FILTER_COLORIZE:与 IMG_FILTER_GRAYSCALE 类似,不过可以指定颜色。用 arg1,arg2 和 arg3 分别指定 red,blue 和 green。每种颜色范围是 0 到 255。

IMG_FILTER_EDGEDETECT:用边缘检测来突出图像的边缘。

IMG_FILTER_EMBOSS:使图像浮雕化。

IMG_FILTER_GAUSSIAN_BLUR:用高斯算法模糊图像。

IMG_FILTER_SELECTIVE_BLUR:模糊图像。

IMG_FILTER_MEAN_REMOVAL:用平均移除法来达到轮廓效果。

IMG_FILTER_SMOOTH:使图像更柔滑。用 arg1 设定柔滑级别。

6、图片加文字

//图片指定位置打印文字if(isset($_POST['emb_caption']))

{/*array imagettftext ( resource $image , float $size , float $angle , int $x , int $y , int $color , string $fontfile , string $text )

$image 图像源 $size 字体大小 $angle 逆时针旋转角度 $fontfile 字体类型 $text 文本内容*/imagettftext($image, 12 , 0 , 20 , 20 , 0 ,$font,$image_caption);

}

7、图片打LOGO

//图片指定位置打LOGOif(isset($_POST['emb_logo']))

{//获取水印图片的尺寸并创建水印list($wmk_width,$wmk_height) =getimagesize('images/logo.png');//$x = ($width-$wmk_width) / 2;

//$y = ($height-$wmk_height)/2;$x=$width-$wmk_width;$y=$height-$wmk_height;$wmk= imagecreatefrompng('images/logo.png');//把水印图片和原图片合并在一起/*将 wmk 图像中坐标从 0,0 开始,宽度为 $wmk_width,高度为 $wmk_height 的一部分拷贝到 image 图像中坐标为 $x 和 $y 的位置上。

两图像将根据 pct=20 来决定合并程度,其值范围从 0 到 100。当 pct = 0 时,实际上什么也没做,当为

100 时对于调色板图像本函数和 imagecopy() 完全一样,它对真彩色图像实现了 alpha 透明。*/imagecopymerge($image,$wmk,$x,$y, 0 , 0 ,$wmk_width,$wmk_height, 20);//清除水印图片imagedestroy($wmk);

}

8、缩略图 128X96 大小

//缩略图大小$thumb_width=$width* 0.10;$thumb_height=$height* 0.10;//创建一个缩略图$thumb= imagecreatetruecolor($thumb_width,$thumb_height);

imagecopyresampled($thumb,$image, 0, 0, 0, 0,$thumb_width,$thumb_height,$width,$height);

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航