PHP 处理图像

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP 处理图像相关的知识,希望对你有一定的参考价值。

一.创建图像

 

创建图像的一般流程:

1).设定标头,告诉浏览器你要生成的MIME类型。

2).创建一个图像区域,以后的操作都将基于此图像区域。

3).在空白图像区域绘制填充背景。

4).在背景上绘制图形轮廓输入文本。

5).输出最终图形。

6).清除所有资源。

7).其他页面调用图像。

 

设定标头指定MIME输出类型

<?php

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

?>

 

创建一个空白的图像区域

<?php

 $im = imagecreatetruecolor(200,200);

?>

 

在空白图像区域绘制填充背景

<?php

 $blue = imagecolorallocate($im,0,102,255);

 imagefill($im,0,0,$blue);

?>

 

在背景上绘制图形轮廓输入文本

<?php

 $white = imagecolorallocate($im,255,255,255);

 imageline($im,0,0,200,200,$white);

 imageline($im,200,0,0,200,$white);

 imagestring($im, 5, 80, 20, "Mr.Lee", $white);

?>

 

输出最终图形

<?php

 imagepng($im);

?>

 

清除所有资源

<?php

 imagedestroy($im);

?>

 

其他页面调用创建的图形

<img src="Demo4.php" alt="PHP创建的图片" />

 

 

二.简单小案例

 

简单验证码

<?php

header(‘Content-type: image/png‘);

//随机数

for($Tmpa=0;$Tmpa<4;$Tmpa++){

$nmsg.=dechex(rand(0,15));

}

$im = imagecreatetruecolor(75,25);

$blue = imagecolorallocate($im,0,102,255);

$white = imagecolorallocate($im,255,255,255);

imagefill($im,0,0,$blue);

imagestring($im,5,20,4,$nmsg,$white);

imagepng($im);

imagedestroy($im);

?>

 

加载已有的图像

<?php

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

 define(‘__DIR__‘,dirname(__FILE__).‘\\‘);

 $im = imagecreatefrompng(__DIR__.‘222.png‘);

 $white = imagecolorallocate($im,255,255,255);

 imagestring($im,3,5,5,‘http://www.yc60.com‘,$white);

 imagepng($im);

 imagedestroy($im);

?>

 

加载已有的系统字体

<?php

$text = iconv("gbk","utf-8","李炎恢");

$font = ‘C:\WINDOWS\Fonts\SIMHEI.TTF‘;

imagettftext($im,20,0,30,30,$white,$font,$text);

?>

 

图像微缩

<?php

header(‘Content-type: image/png‘);

define(‘__DIR__‘,dirname(__FILE__).‘\\‘);

list($width, $height) = getimagesize(__DIR__.‘222.png‘);

$new_width = $width * 0.7;

$new_height = $height * 0.7;

$im2 = imagecreatetruecolor($new_width, $new_height);

$im = imagecreatefrompng(__DIR__.‘222.png‘);

imagecopyresampled($im2, $im, 0, 0, 0, 0,

$new_width, $new_height, $width, $height);

imagepng($im2);

imagedestroy($im);

Imagedestroy($im2);

?>


以上是关于PHP 处理图像的主要内容,如果未能解决你的问题,请参考以下文章

PHP异常处理

PHP 图像处理

PHP错误处理和异常处理

php 图像处理类

php错误处理

PHP异常处理