1. 程式人生 > 其它 >php 圖片操作(intervention/image)

php 圖片操作(intervention/image)

使用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');

效果: