Rumah >rangka kerja php >ThinkPHP >Mari kita bincangkan tentang operasi Imej dalam thinkphp

Mari kita bincangkan tentang operasi Imej dalam thinkphp

藏色散人
藏色散人ke hadapan
2022-01-10 16:26:563104semak imbas

Lajur tutorial thinkphp berikut akan memperkenalkan anda kepada operasi Imej dalam thinkphp3.2.3 Saya harap ia dapat membantu rakan-rakan yang memerlukan.

Kendalian imej dalam thinkphp3.2.3 bebas
Rujuk Operasi imej dalam thinkphp3.2.3

https://www . kancloud.cn/manual/thinkphp/1878

Tidak bergantung pada mana-mana rangka kerja

Dalam keadaan biasa, perpustakaan gd akan dipasang

Jika anda memerlukan Imagic, sila pasang https://pecl.php. net/package/imagick

Pasang

Perpustakaan kelas Instantiation
composer require whereof/think-image

Perpustakaan GD digunakan untuk operasi imej secara lalai Jika anda perlu menggunakan perpustakaan Imagick Untuk operasi, anda perlu menukarnya kepada:
$image = new \whereof\ThinkImage\Image();

Kendalian imej
$image = new \whereof\ThinkImage\Image(\Think\Image::IMAGE_IMAGICK); 
// 或者采用
$image = new \whereof\ThinkImage\Image('Imagick');

Mari kita lihat cara menggunakan fungsi operasi imej asas.

Buka fail imej

Andaikan terdapat fail 1.jpg di bawah direktori fail kemasukan semasa

Gunakan kaedah terbuka untuk membuka fail imej untuk operasi berkaitan:

juga boleh dipermudahkan kepada kaedah berikut:
$image = \whereof\ThinkImage\Image(); 
$image->open('./1.jpg');

Dapatkan maklumat imej
$image = new \whereof\ThinkImage\Image(\whereof\ThinkImage\Image::IMAGE_GD,'./1.jpg'); // GD库
// 或者
$image = new \whereof\ThinkImage\Image(\whereof\ThinkImage\Image::IMAGE_IMAGICK,'./1.jpg');  // imagick库

Anda boleh mendapatkan maklumat imej yang dibuka, termasuk saiz imej, jenis , dsb., contohnya:

Pangkas gambar
$width = $image->width(); // 返回图片的宽度
$height = $image->height(); // 返回图片的高度
$type = $image->type(); // 返回图片的类型
$mime = $image->mime(); // 返回图片的mime类型
$size = $image->size(); // 返回图片的尺寸数组 0 图片宽度 1 图片高度

Gunakan kaedah potong dan simpan untuk melengkapkan fungsi potong gambar.

Menyokong pemangkasan bermula dari koordinat tertentu, contohnya, bermula dari (100, 30):
//将图片裁剪为400x400并保存为corp.jpg
$image->crop(400, 400)->save('./crop.jpg');

Jana lakaran kecil
//将图片裁剪为400x400并保存为corp.jpg
$image->crop(400, 400,100,30)->save('./crop.jpg');

Jana menggunakan lakaran kecil kaedah ibu jari

boleh menyokong jenis penjanaan imej kecil yang lain Tetapan termasuk pemalar berikut atau nombor sepadan
// 按照原图的比例生成一个最大为150*150的缩略图并保存为thumb.jpg
$image->thumb(150, 150)->save('./thumb.jpg');
:

whereofThinkImageImage

Pangkas Berpusat
IMAGE_THUMB_SCALE     =   1 ; //等比例缩放类型
IMAGE_THUMB_FILLED    =   2 ; //缩放后填充类型
IMAGE_THUMB_CENTER    =   3 ; //居中裁剪类型
IMAGE_THUMB_NORTHWEST =   4 ; //左上角裁剪类型
IMAGE_THUMB_SOUTHEAST =   5 ; //右下角裁剪类型
IMAGE_THUMB_FIXED     =   6 ; //固定尺寸缩放类型

Pangkasan sudut kiri atas

// 生成一个居中裁剪为150*150的缩略图并保存为thumb.jpg
$image->thumb(150, 150,\whereof\ThinkImage\Image::IMAGE_THUMB_CENTER)->save('./thumb.jpg');

Pelapik skala

$image->thumb(150, 150,\whereof\ThinkImage\Image::IMAGE_THUMB_NORTHWEST)->save('./thumb.jpg');

Saiz tetap

$image->thumb(150, 150,\whereof\ThinkImage\Image::IMAGE_THUMB_FILLED)->save('./thumb.jpg');

Tambah tera air imej

$image->thumb(150, 150,\whereof\ThinkImage\Image::IMAGE_THUMB_FIXED)->save('./thumb.jpg');

air parameter kedua kaedah mewakili kedudukan tera air Anda boleh lulus dalam pemalar berikut atau nombor sepadan kelas ThinkImag:

//将图片裁剪为440x440并保存为corp.jpg
$image->crop(440, 440)->save('./crop.jpg');
// 给裁剪后的图片添加图片水印(水印文件位于./logo.png),位置为右下角,保存为water.gif
$image->water('./logo.png')->save("water.gif");
// 给原图添加水印并保存为water_o.gif(需要重新打开原图)
$image->open('./1.jpg')->water('./logo.png')->save("water_o.gif");

Contohnya:

IMAGE_WATER_NORTHWEST =   1 ; //左上角水印
IMAGE_WATER_NORTH     =   2 ; //上居中水印
IMAGE_WATER_NORTHEAST =   3 ; //右上角水印
IMAGE_WATER_WEST      =   4 ; //左居中水印
IMAGE_WATER_CENTER    =   5 ; //居中水印
IMAGE_WATER_EAST      =   6 ; //右居中水印
IMAGE_WATER_SOUTHWEST =   7 ; //左下角水印
IMAGE_WATER_SOUTH     =   8 ; //下居中水印
IMAGE_WATER_SOUTHEAST =   9 ; //右下角水印

juga boleh. menyokong imej tera air. Ketelusan (0~100, nilai lalai ialah 80), contohnya:

$image->open('./1.jpg')->water('./logo.png',\whereof\ThinkImage\Image::IMAGE_WATER_NORTHWEST)->save("water.jpg");

Ia juga boleh menyokong penambahan tera air teks pada gambar (dengan mengandaikan bahawa terdapat fail fon 1.ttf dalam direktori fail masukan yang sama), contohnya :

$image->open('./1.jpg')->water('./logo.png',\whereof\ThinkImage\Image::IMAGE_WATER_NORTHWEST,50)->save("water.jpg");

$image->open('./1.jpg')->text('ThinkPHP','./1.ttf',20,'#000000',\whereof\ThinkImage\Image::IMAGE_WATER_SOUTHEAST)->save("new.jpg");
Pembelajaran yang disyorkan: "
10 tutorial video thinkphp terkini
"

Atas ialah kandungan terperinci Mari kita bincangkan tentang operasi Imej dalam thinkphp. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:segmentfault.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam