Perpustakaan kelas Instantiationhttps://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
composer require whereof/think-imagePerpustakaan 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
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: "