PHP图形基本操作

创建一个真彩色的空白图片

$img =imagecreatetruecolor(width, height);

设定RGB颜色值

$red = imagecolorallocate($img,0xFF, 0x00, 0x00);

线条的绘制(起始位置)

imageline($img,0, 0, 100, 100, $red);

绘制文字

imagestring($img,5, 0, 0, "Hello world", $red);

图片输出格式

header("content-type:image/png");

保存图片

imagepng($img,$filename);

释放该图片内存

imagedestroy($img);

案例:

1.生成图像验证码

<?php
	session_start();
	$img   = imagecreatetruecolor(95, 40);
	$black = imagecolorallocate($img, 0x00, 0x00, 0x00);
	$green = imagecolorallocate($img, 0x00, 0xFF, 0x00);
	$blue  = imagecolorallocate($img, 0x0E, 0x89, 0xEB);
	imagefill($img,0,0,$blue);
	$code = '';
	for($i = 0; $i < 4; $i++) {
    	$code .= rand(0, 9);
	}
	imagestring($img, 5, 10, 10, $code, $black);
	for($i=0;$i<50;$i++) {
  	imagesetpixel($img, rand(0, 100) , rand(0, 100) , $black); //imagesetpixel绘制点来实现噪点干扰
  	imagesetpixel($img, rand(0, 100) , rand(0, 100) , $green);
	}
	header("content-type: image/png");
	imagepng($img);
	imagedestroy($img);
?>

2.图片添加水印

方法:

a.在图片上面加上一个字符串

b.在图片上加上一个logo或者其他的图片

方法b步骤:

先在已存在的图片建立画布

$im = imagecreatefromjpeg($filename);

再建立一个图像对象

$logo = imagecreatefrompng($filename);

最后imagecopy将logo的图像复制到源图像中

imagecopy($im, $logo, im_X,im_Y,logo_X,logo_Y,$width, $height);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值