1:输出图像需要设置header
•header('content-type:image/png')
•header ( 'Content-Type: image/gif' );
•header ( 'Content-Type: image/jpeg' );
2:创建画布
resource imagecreatetruecolor ( int $width , int $height )
3:输入图像
bool imagepng ( resource $image [, string $filename ] )
4:为图像分配颜色
int imagecolorallocate ( resource $image , int $red , int $green , int $blue )
5:填充颜色
bool imagefill ( resource $image , int $x , int $y , int $color )
6:绘制图像
•bool imagesetpixel ( resource $image , int $x , int $y , int $color ) 画点
imageline() 用 color 颜色在图像 image 中从坐标 x1 , y1 到 x2 , y2 (图像左上角为 0, 0)画一条线段。
bool imageline ( resource $image , int $x1 , int $y1 , int $x2 , int $y2 , int $color )
imagerectangle() 用 col 颜色在 image 图像中画一个矩形,其左上角坐标为 x1, y1,右下角坐标为 x2, y2。图像的左上角坐标为 0, 0。
•bool imagerectangle ( resource $image , int $x1 , int $y1 , int $x2 , int $y2 , int $col )
7:写文字
•array imagettftext ( resource $image , float $size , float $angle , int $x , int $y , int $color , string $fontfile , string $text )
•size :字体的尺寸。根据 GD 的版本,为像素尺寸(GD1)或点(磅)尺寸(GD2)。
•angle :角度制表示的角度,0 度为从左向右读的文本。更高数值表示逆时针旋转。例如 90 度表示从下向上读的文本。
•由 x , y 所表示的坐标定义了第一个字符的基本点(大概是字符的左下角)。
•color :颜色索引
•fontfile :是想要使用的 TrueType 字体的路径。
•text :UTF-8 编码的文本字符串。
7:代码案例1
//创建画布
$logo = imagecreatefromstring(file_get_contents($bannerimg));
$head_img1 = imagecreatefromstring(file_get_contents($qrodeimg));
$head_img2 = imagecreatefromstring(file_get_contents($head_img));
//写入文字
$msg = imagecolorallocate($logo, 255, 225, 177);
$black = imagecolorallocate($logo, 255, 225, 177);
$grey = imagecolorallocate($logo, 255, 225, 177);
//写的文字用到的字体
$font = ROOT_PATH . '/statics/font/black_font.ttf';
//将$qrodeimg插入到$bannerimg里
imagecopyresampled($logo, $head_img1, 250, 300, 0, 0, 275, 275, imagesx($head_img1), imagesy($head_img1));
//将$head_img插入到$bannerimg里
imagecopyresampled($logo, $head_img2, 400, 30, 0, 0, 100, 100, imagesx($head_img2), imagesy($head_img2));
//在图片里插入文字($msg,$black,$grey)
imagettftext($logo, 24, 0, 280, 180, $msg,$font, $text);
imagettftext($logo, 30, 0, 170, 280, $black,$font, $tip1);
imagettftext($logo, 30, 0, 330, 340, $grey, $font, $tip2);
//生成图片
imagepng($logo, ROOT_PATH . $upload_dir . '97243655qrcode' . '.png');
//生成图片名字
$twocode = $upload_dir . '97243655qrcode' . '.png'; //如果存在logo就生成带logo的
8:代码案例2
$codew = 1080;
$codeh = 1920;
$codeimg = imagecreatetruecolor($codew, $codeh);
$white = imagecolorallocate($codeimg, 255, 255, 255);
imagefill($codeimg, 0, 0, $white);