Heim  >  Artikel  >  PHP-Framework  >  Lassen Sie uns über Bildoperationen in thinkphp sprechen

Lassen Sie uns über Bildoperationen in thinkphp sprechen

藏色散人
藏色散人nach vorne
2022-01-10 16:26:563066Durchsuche

Die folgende Tutorial-Kolumne zum thinkphp-Framework führt Sie in die Bildoperation in thinkphp3.2.3 ein. Ich hoffe, dass sie für Freunde in Not hilfreich ist!

Unabhängige Bildoperation in thinkphp3.2.3
Siehe Bildoperation in thinkphp3.2.3

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

Hängt von keinem Framework ab

Unter normalen Umständen wird die GD-Bibliothek installiert.

Wenn Sie Imagick benötigen, installieren Sie bitte https://pecl.php.net/package/imagick.

Installieren Sie die Klassenbibliothek für die Instanziierung Standard für Bildoperationen. Wenn Sie die Imagick-Bibliothek für den Betrieb verwenden müssen, müssen Sie sie ändern in:
composer require whereof/think-image

Bildoperation

Sehen wir uns an, wie die grundlegende Bildoperationsfunktion verwendet wird.

Öffnen Sie die Bilddatei.

Angenommen, es befindet sich eine 1.jpg-Datei im aktuellen Eintragsdateiverzeichnis.

$image = new \whereof\ThinkImage\Image();

Bildinformationen abrufen

Sie können Informationen zum geöffneten Bild abrufen, einschließlich Bildgröße, -typ usw., zum Beispiel:

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

Bild zuschneiden

Verwenden Sie die Methoden zum Zuschneiden und Speichern, um die Bildzuschneidefunktion abzuschließen .

$image = \whereof\ThinkImage\Image(); 
$image->open('./1.jpg');

unterstützt das Zuschneiden ab einer bestimmten Koordinate, zum Beispiel ab (100, 30):

$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库

Miniaturansichten generieren

Thumbnails mit der Daumenmethode generieren

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

kann andere Arten der Miniaturansichtsgenerierung unterstützen. Zu den Einstellungen gehören

Folgendes Konstanten oder entsprechende Zahlen:

//将图片裁剪为400x400并保存为corp.jpg
$image->crop(400, 400)->save('./crop.jpg');
Mittiger Zuschnitt

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

// 按照原图的比例生成一个最大为150*150的缩略图并保存为thumb.jpg
$image->thumb(150, 150)->save('./thumb.jpg');

Skalenauffüllung

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

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

Der zweite Parameter der Wassermethode stellt die Position des Wasserzeichens dar. , Sie können die folgenden Konstanten oder entsprechende Zahlen der ThinkImag-Klasse übergeben:

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

Zum Beispiel:

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

kann auch die Transparenz von Wasserzeichenbildern unterstützen (0~100, der Standardwert ist 80), zum Beispiel:

//将图片裁剪为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");

kann auch Wasserzeichenbilder unterstützen. Fügen Sie ein Textwasserzeichen hinzu (vorausgesetzt, es gibt eine 1.ttf-Schriftartdatei im selben Verzeichnis wie die Eintragsdatei), zum Beispiel:

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 ; //右下角水印

Empfohlenes Lernen: „

Die neuesten 10 Thinkphp-Video-Tutorials

Das obige ist der detaillierte Inhalt vonLassen Sie uns über Bildoperationen in thinkphp sprechen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen