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

Lassen Sie uns über Bildoperationen in thinkphp sprechen

藏色散人
Freigeben: 2022-01-18 10:18:01
nach vorne
3089 Leute haben es durchsucht

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
Nach dem Login kopieren

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();
Nach dem Login kopieren

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');
Nach dem Login kopieren

Bild zuschneiden

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

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

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库
Nach dem Login kopieren

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 图片高度
Nach dem Login kopieren

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');
Nach dem Login kopieren
Mittiger Zuschnitt

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

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

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 ; //固定尺寸缩放类型
Nach dem Login kopieren
Feste Größe

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

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');
Nach dem Login kopieren

Zum Beispiel:

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

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");
Nach dem Login kopieren

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 ; //右下角水印
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage