PHP入门教程之图像处理技巧分析

2025-05-29 0 101

本文实例讲述了PHP图像处理。分享给大家供大家参考,具体如下:

Demo1.php

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31
<?php

//一般生成的图像可以是 png,jpg,gif,bmp

//jpeg,wbmp

//第一步,设置文件MIME类型,输出类型 text/html 类型是网页类型,默认可以不写

//将输出类型改成图像流

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

//第二步,创建一个图形区域,图像背景

//有两种创建方式,资源类型,一般要加上 @ 符号,防止出错

//imagecreatetruecolor 返回的是一个资源句柄

//这个函数创建了一个图像的区域,没有进行填充的时候,背景默认是黑色的

$im = imagecreatetruecolor(200,200);

//第三步,有空白图像区域,绘制颜色,文字叫,线条啊。。。

//填充色换掉,首先要有个颜色填充器

//imagecolorallocate -- 为一幅图像分配颜色

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

//将这个 blue 颜色填充到背景上去

//imagefill -- 区域填充

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

//第四部,在蓝色的背景上输入一些线条,文字等

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

//imageline -- 画一条线段

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

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

//imagestring -- 水平地画一行字符串

imagestring($im,5,80,20,'Mr.One',$white);

//第五步,输出最终图形

//以 PNG 格式将图像输出到浏览器或文件

imagepng($im);

//第六步,我要将所有的资源全部清空

imagedestroy($im);

?>

Demo2.php

?

1

2

3

4

5

6
<?php

//src 可以插入各样类型的图片

//Demo1.php 其实就是一张 png 图片

header('Content-Type:text/html; charset=gbk');

echo '<img src="Demo1.php" id=\"codetool\">

Demo3.php

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21
<?php

//简单的验证码

//随机数

//为什么要循环 0-15 之间的数呢?

//因为要实现最简单的字母和数字混搭

//十六进制 0-9 a-f

//dechex -- 十进制转换为十六进制

//创建一个四位的验证码

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

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

}

//echo $nmsg;

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

$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,5,$nmsg,$white);

imagepng($im);

imagedestroy($im);

?>

Demo4.php

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16
<?php

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

//加载已有的图像

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

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

//imagecreatefrompng -- 从 PNG 文件或 URL 新建一图像

//用 image 载入图像,是可以编辑图像

//在载入的图像中,加入一个小水印

$im = imagecreatefrompng(__DIR__.'ss.png');

//$im = imagecreatefromjpeg('xx.jpg');

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

imagestring($im,5,10,10,'http://www.oneStopWeb.cn',$white);

imagepng($im);

//imagejpeg($im);

imagedestroy($im);

?>

Demo5.php

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23
<?php

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

//加载已有的图像

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

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

//imagecreatefrompng -- 从 PNG 文件或 URL 新建一图像

//用 image 载入图像,是可以编辑图像

//在载入的图像中,加入一个小水印

$im = imagecreatefrompng(__DIR__.'ss.png');

//$im = imagecreatefromjpeg('xx.jpg');

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

imagestring($im,5,10,10,'http://www.oneStopWeb.cn',$white);

//font 字体还必须支持中文

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

//字体文件

$text = iconv('gbk','utf-8','阅谁问君诵');

//采用系统提供的字体

//第二参数,是字体的大小,第三个参数是旋转角度,4,5参数是坐标

imagettftext($im,20,10,50,100,$white,$font,$text);

imagepng($im);

//imagejpeg($im);

imagedestroy($im);

?>

Demo6.php

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29
<?php

//微缩图,不但表面的大小改变了,容量也改变了

//是真的改变了,不是表面的缩小

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

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

//getimagesize -- 取得图像大小

//获取到了原图的长度和高度

list($width,$height) = getimagesize(__DIR__.'ss.png');

//将原图缩放成 40%

$_width = $width * 0.4;

$_height = $height * 0.4;

//创建一个新图

$im = imagecreatetruecolor($_width,$_height);

//下面的工作是,载入原图,将原图复制到新图上去

//载入原图

$_im = imagecreatefrompng(__DIR__.'ss.png');

//将原图重新采样,拷贝到新图上,最后按 0.4 的比例输出

//imagecopyresampled -- 重采样拷贝部分图像并调整大小

imagecopyresampled($im,$_im,0,0,0,0,$_width,$_height,$width,$height);

//将新图输出

imagepng($im);

//第二个参数不需要,直接 null 过度

//第三个参数,是 0-100 来调节 JPG 的清晰度

//如果是 imagepng,那么全部都是高清

//imagejpeg($im,null,50);

//销毁

imagedestroy($im);

imagedestroy($_im);

?>

希望本文所述对大家PHP程序设计有所帮助。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 PHP入门教程之图像处理技巧分析 https://www.kuaiidc.com/97108.html

相关文章

发表评论
暂无评论