Stellen Sie zunächst sicher, dass die PHP -Umgebung die GD -Bibliotheksunterstützung ermöglicht hat. Die GD -Bibliothek ist die grundlegende Bibliothek für PHP zur Verarbeitung von Bildern und wird häufig für Bilderstellung, Beschneidung, Skalierung, Synthese und andere Operationen verwendet.
Sie können den folgenden Code verwenden, um zu überprüfen, ob die GD -Bibliothek aktiviert ist:
<?php
if (extension_loaded('gd')) {
echo "GDDie Bibliothek ist aktiviert";
} else {
echo "GDBibliothek nicht aktiviert,Bitte installieren oder aktivierenGDBibliothekserweiterung";
}
?>
Laden Sie Bildressourcen durch die GD -Bibliotheksfunktion imageCreateFromjpeg () , ImagecreateFrommpng () usw. Hier nehmen wir JPEG als Beispiel:
<?php
$sourcePath = 'gitbox.net/images/sample.jpg'; // Beachten Sie, dass der Domain -Name durch ersetzt wurdegitbox.net
$srcImg = imagecreatefromjpeg($sourcePath);
if (!$srcImg) {
die("Das Bild kann nicht geladen werden");
}
?>
Hier ist eine benutzerdefinierte Funktion, die das Verhalten von ImageGetClip nachahmt:
<?php
/**
* Ernte und skalieren das Bild
*
* @param resource $srcImg Quellenbildressourcen
* @param int $clipX BeschneidungsausgangspunktXkoordinieren
* @param int $clipY BeschneidungsausgangspunktYkoordinieren
* @param int $clipWidth Erntebreite
* @param int $clipHeight Anbaus Höhe
* @param int $newWidth Zielbreite(Nach dem Zoomen)
* @param int $newHeight Zielhöhe(Nach dem Zoomen)
*
* @return resource 裁剪Nach dem Zoomen的新图像资源
*/
function imagegetclip($srcImg, $clipX, $clipY, $clipWidth, $clipHeight, $newWidth, $newHeight) {
// Erstellen Sie eine Zielbildressource
$dstImg = imagecreatetruecolor($newWidth, $newHeight);
// Bleib transparent(gegenPNGUndGIF)
imagealphablending($dstImg, false);
imagesavealpha($dstImg, true);
// Ernte und Skalierung
imagecopyresampled(
$dstImg, // Zielbild
$srcImg, // Quellbild
0, 0, // Zielbild起点koordinieren
$clipX, $clipY,// QuellbildBeschneidungsausgangspunktkoordinieren
$newWidth, $newHeight, // Zielbild尺寸
$clipWidth, $clipHeight // Quellbild裁剪尺寸
);
return $dstImg;
}
?>
Im Folgenden wird angezeigt, wie Sie diese Funktion aufrufen, um das Bild zu erstellen, das Bild zu skalieren und das Ergebnis zu speichern:
<?php
// 载入Quellbild
$sourcePath = 'gitbox.net/images/sample.jpg';
$srcImg = imagecreatefromjpeg($sourcePath);
// 设定裁剪参数Und缩放尺寸
$clipX = 100;
$clipY = 50;
$clipWidth = 200;
$clipHeight = 150;
$newWidth = 400; // vergrößern2Doppelt
$newHeight = 300;
// Aufrufen der Ausschnitt- und Skalierungsfunktion
$dstImg = imagegetclip($srcImg, $clipX, $clipY, $clipWidth, $clipHeight, $newWidth, $newHeight);
// Bild in Datei ausgeben
imagejpeg($dstImg, 'gitbox.net/images/output.jpg', 90);
// Ressourcen frei machen
imagedestroy($srcImg);
imagedestroy($dstImg);
echo "Ernte und Skalierung完成,Das Bild wurde gespeichert output.jpg";
?>
In den oben genannten Schritten verwenden wir die GD -Bibliothek, um die Kernfunktion der ImageGetClip -Funktion zu implementieren. Erzählen Sie den angegebenen Bereich des Bildes und skalieren Sie sie auf die Zielgröße. Diese Methode ist nicht nur für JPEG geeignet, sondern kann auch die Unterstützung für PNG, GIF und andere Formate leicht erweitern. Ersetzen Sie einfach die Bildladefunktion und speichern Sie die Funktion.
Diese Verarbeitungsmethode kombiniert das Kombinieren von Zuschneiden und Skalieren wird häufig in Avatar -Anbaus, Miniaturansicht, Bildbearbeitungstools und anderen Szenarien verwendet.