使用intervention/image图片库进行图片操作
图片验证码
<?php
//导入autoload.php自动加载
require ‘../vendor/autoload.php‘;
//导入ImageManager类
use Intervention\Image\ImageManager;
//生成ImageManager对象
$manager = new ImageManager();
//创建画布资源
$img = $manager->canvas(80, 35, ‘#fef‘);
$text = "A53E";
$img->text($text, 15, 28, function($font) {
$font->file("./Songti.ttc"); //中文字体
$font->size(24); //文字大小
$font->color(‘#ccc‘); //颜色
//$font->align(‘center‘);//水平对齐方式
//$font->valign(‘top‘);//垂直对齐方式
$font->angle(3);//旋转角度
});
//手动输出到浏览器
header(‘Content-Type: image/jpeg‘);
echo $img->encode(‘jpeg‘);
效果:
图片缩略图
<?php
//导入autoload.php自动加载
require ‘../vendor/autoload.php‘;
//导入ImageManager类
use Intervention\Image\ImageManager;
//生成ImageManager对象
$manager = new ImageManager();
//创建新的图像资源
$img = $manager->make(‘image2.jpeg‘);
//按width比例裁剪
//$img->widen(100);
//将当前图像调整为新高度,宽度比例缩放
//$img->heighten(100);
//手动输出到浏览器
header(‘Content-Type: image/jpeg‘);
echo $img->encode(‘jpeg‘);
//保存生成新图片
//$image->save(‘2.jpg‘);
效果:
图片加水印
<?php
//导入autoload.php自动加载
require ‘../vendor/autoload.php‘;
//导入ImageManager类
use Intervention\Image\ImageManager;
//生成ImageManager对象
$manager = new ImageManager();
//创建新的图像资源
$img = $manager->make(‘image2.jpeg‘);
//创建画布资源
//$img = $manager->canvas(500, 500, ‘#fff‘);
$watermark = $manager->make(‘walter2.jpeg‘)->resize(100,100)->colorize(-10, -50, 20)->opacity(30);
$img->insert($watermark, ‘top-right‘,10,10);
//手动输出到浏览器
header(‘Content-Type: image/jpeg‘);
echo $img->encode(‘jpeg‘);
效果:
图片添加文字水印
<?php
//导入autoload.php自动加载
require ‘../vendor/autoload.php‘;
//导入ImageManager类
use Intervention\Image\ImageManager;
//生成ImageManager对象
$manager = new ImageManager();
//创建新的图像资源
$img = $manager->make(‘image2.jpeg‘);
$text = "文字水印";
$img->text($text, 200, 100, function($font) {
$font->file("./Songti.ttc"); //中文字体
$font->size(48); //文字大小
$font->color(‘#eee‘); //颜色
$font->align(‘center‘);//水平对齐方式
$font->valign(‘top‘);//垂直对齐方式
$font->angle(45);//旋转角度
});
//手动输出到浏览器
header(‘Content-Type: image/jpeg‘);
echo $img->encode(‘jpeg‘);
效果: