Heim  >  Artikel  >  Backend-Entwicklung  >  Einführung in die Verwendung von PHP-Funktionen zur Bildeffektverarbeitung

Einführung in die Verwendung von PHP-Funktionen zur Bildeffektverarbeitung

PHPz
PHPzOriginal
2023-06-15 20:48:331122Durchsuche

PHP verfügt als Skriptsprache über eine umfangreiche Bibliothek an Bildverarbeitungsfunktionen, mit denen problemlos verschiedene Verarbeitungsvorgänge an Bildern durchgeführt werden können, z. B. Skalieren, Schneiden, Wasserzeichen, Filter usw., und Bilder in verschiedenen Formaten unterstützt.

In diesem Artikel stellen wir die häufig verwendeten Bildverarbeitungsfunktionen in PHP vor und stellen praktische Anwendungsszenarien und Beispielcodes bereit.

1. Zoomen und Zuschneiden

Zoomen und Zuschneiden sind gängige Vorgänge zur Bildverarbeitung. Nachfolgend stellen wir die entsprechenden PHP-Bildverarbeitungsfunktionen im Detail vor.

  1. Scale

imagecopyresized() ist die am häufigsten verwendete Skalierungsfunktion in PHP, die die Größe eines Bildes ändern und gleichzeitig das Seitenverhältnis des Originalbildes beibehalten kann.

Die Syntax dieser Funktion lautet wie folgt:

bool imagecopyresized ( Ressource $dst_image , Ressource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $ src_w , int $ src_h )

Parametererklärung:

  • $dst_image ist die Zielbildressource;
  • $src_image ist die Quellbildressource;
  • $dst_x und $dst_y sind die Koordinatenpositionen der oberen linken Ecke des Zielbildressource;
  • $src_x und $src_y ist die Koordinatenposition der oberen linken Ecke der Quellbildressource;
  • $dst_w und $dst_h sind die Breite und Höhe des Zielbilds;
  • $src_w und $src_h sind die Breite und Höhe des Quellbildes.

Das Folgende ist ein Codebeispiel zum Skalieren von Bildern:

$src_image = imagecreatefrompng('origin.png');
$dst_image = imagecreatetruecolor(300, 300);
$src_w = imagesx($ src_image );//Erhalte die Breite des Quellbildes
$src_h = imagesy($src_image);//Erhalte die Höhe des Quellbildes
$dst_w = 300;
$dst_h = 300;
imagecopyresized($dst_image, $src_image, 0, 0, 0 , 0, $dst_w, $dst_h, $src_w, $src_h);
imagepng($dst_image, 'resize.png');
imagedestroy($src_image);
imagedestroy($dst_image);
?>

  1. Zuschneiden

imagecopyresampled() ist eine Funktion zum Zuschneiden in PHP. Sie hat eine ähnliche Funktion wie imagecopyresized(), kann jedoch Skalierungseffekte höherer Qualität erzielen.

Die Syntax dieser Funktion lautet wie folgt:

bool imagecopyresampled ( Ressource $dst_image , Ressource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $ src_w , int $ src_h )

Parametererklärung ist die gleiche wie bei imagecopyresized().

Hier ist ein Codebeispiel zum Zuschneiden eines Bildes:

$src_image = imagecreatefrompng('origin.png');
$dst_image = imagecreatetruecolor(200, 200);
$src_w = imagesx($ src_image );//Erhalte die Breite des Quellbildes
$src_h = imagesy($src_image);//Erhalte die Höhe des Quellbildes
$dst_w = 200;
$dst_h = 200;
$x = 0;
$y = 0;
$src_x = ($src_w-$dst_w)/2;
$src_y = ($src_h-$dst_h)/2;
imagecopyresampled($dst_image, $src_image, $x, $y, $src_x, $src_y, $ dst_w , $dst_h, $dst_w, $dst_h);
imagepng($dst_image, 'crop.png');
imagedestroy($src_image);
imagedestroy($dst_image);
?>

2. Wasserzeichen

Das Hinzufügen von Wasserzeichen zu Bildern ist ein häufig vorkommendes Szenario in praktischen Anwendungen, und PHP bietet auch entsprechende Funktionsunterstützung. Mit der Funktion

imagecopy() kann ein Bild über ein anderes Bild gelegt werden, um einen Wasserzeicheneffekt zu erzielen.

Die Syntax dieser Funktion lautet wie folgt:

bool imagecopy ( Ressource $dst_image , Ressource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h )

Parametererklärung:

    $dst_image ist die Zielbildressource;
  • $src_image ist die Quellbildressource;
  • $dst_x und $dst_y sind die Koordinatenpositionen der oberen linken Ecke der Zielbildressource; und $src_y sind die obere linke Ecke der Quellbildressource. Die Koordinatenposition
  • $src_w und $src_h sind die Breite und Höhe der Quellbildressource.
  • Das Folgende ist ein Codebeispiel mit Wasserzeichen:
$src_image = imagecreatefrompng('origin.png');

$watermark_image = imagecreatefrompng('watermark.png');

$src_w = imagesx ( $src_image);// Holen Sie sich die Breite des Quellbildes
$src_h = imagesy($src_image);// Holen Sie sich die Höhe des Quellbildes
$watermark_w = imagesx($watermark_image);// Holen Sie sich die Breite des Wasserzeichens
$watermark_h = imagesy( $watermark_image ); // Ermittelt die Wasserzeichenhöhe
$max_width = $src_w - $watermark_w - 10; // Die maximal zulässige Breite an der Wasserzeichenposition
$max_height = $src_h - $watermark_h - 10; an der Wasserzeichenposition
$x = rand(10, $max_width); // Die horizontale Koordinate der zufällig generierten Wasserzeichenposition
$y = rand(10, $max_height); // Die vertikale Koordinate der zufällig generierten Wasserzeichenposition
imagecopy($src_image, $watermark_image, $x , $y, 0, 0, $watermark_w, $watermark_h);
imagepng($src_image, 'watermarked.png');
imagedestroy($src_image);
imagedestroy($ watermark_image);
?>

3. Filter
PHP bietet auch eine Vielzahl von Filtereffekten, die Bilder interessanter und künstlerischer machen können.

Die Funktion imagefilter() unterstützt eine Vielzahl von Filtereffekten wie Invertierung, Graustufen, Unschärfe usw. Einzelheiten finden Sie in der offiziellen PHP-Dokumentation.

Das Folgende ist ein Codebeispiel mit Filtereffekten:

$src_image = imagecreatefrompng('origin.png');
imagefilter($src_image, IMG_FILTER_PIXELATE, 15, true);// Mosaik
imagefilter($src_image, IMG_FILTER_CONTRAST, -50);// Kontrast anpassen
imagepng($src_image, 'filter.png');
imagedestroy($src_image);
?>

Der obige Code realisiert die Mosaik- und Kontrastanpassung eines Bildes.

Zusammenfassend lässt sich sagen, dass PHP leistungsstarke Unterstützung für die Bildverarbeitung bietet und die Funktionen einfach und benutzerfreundlich sind, wodurch die Anforderungen der meisten Anwendungsszenarien erfüllt werden können. Das Verständnis dieser häufig verwendeten Bildverarbeitungsfunktionen wird die Effizienz bei der Entwicklung von Webanwendungen erheblich verbessern.

Das obige ist der detaillierte Inhalt vonEinführung in die Verwendung von PHP-Funktionen zur Bildeffektverarbeitung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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