Heim Backend-Entwicklung PHP-Tutorial So beschneiden Sie einen bestimmten Bereich eines Bildes mit PHP

So beschneiden Sie einen bestimmten Bereich eines Bildes mit PHP

Aug 18, 2023 am 09:52 AM
php 图片裁剪 指定区域

So beschneiden Sie einen bestimmten Bereich eines Bildes mit PHP

So verwenden Sie PHP, um einen bestimmten Bereich eines Bildes zuzuschneiden

Im Prozess der Website-Entwicklung stoßen wir häufig auf Situationen, in denen Bilder zugeschnitten werden müssen, beispielsweise der vom Benutzer hochgeladene Avatar Die Größe wurde geändert oder es muss nur ein Teil davon erfasst werden. Als häufig verwendete serverseitige Skriptsprache bietet PHP eine Fülle von Bildverarbeitungsfunktionen, mit denen wir die Funktion zum Zuschneiden von Bildern problemlos realisieren können.

Im Folgenden wird als Beispiel die Verwendung von PHP zum Zuschneiden eines bestimmten Bereichs eines Bildes verwendet, um die Implementierungsschritte und zugehörigen Codebeispiele im Detail vorzustellen.

Schritt 1: PHP-GD-Bibliothek installieren
Bevor Sie PHP für die Bildverarbeitung verwenden, müssen Sie sicherstellen, dass die GD-Bibliothek auf dem Server installiert wurde. Wenn es nicht installiert ist, können Sie es mit dem folgenden Befehl installieren:

sudo apt-get install php-gd
Nach dem Login kopieren

Schritt 2: Erstellen Sie eine Zuschneidefunktion
Zuerst müssen wir eine Funktion erstellen, um das Zuschneiden von Bildern zu implementieren. Hier ist ein Beispiel für eine einfache Zuschneidefunktion:

function cropImage($sourcePath, $targetPath, $x, $y, $width, $height) {
    // 获取图片的类型
    $imageType = exif_imagetype($sourcePath);
    
    // 根据图片类型创建画布
    switch ($imageType) {
        case IMAGETYPE_JPEG:
            $sourceImage = imagecreatefromjpeg($sourcePath);
            break;
        case IMAGETYPE_PNG:
            $sourceImage = imagecreatefrompng($sourcePath);
            break;
        case IMAGETYPE_GIF:
            $sourceImage = imagecreatefromgif($sourcePath);
            break;
        default:
            return false;
    }
    
    // 创建裁剪后的画布
    $targetImage = imagecreatetruecolor($width, $height);
    
    // 裁剪图片
    imagecopy($targetImage, $sourceImage, 0, 0, $x, $y, $width, $height);
    
    // 保存裁剪后的图片
    imagejpeg($targetImage, $targetPath);
    
    // 释放资源
    imagedestroy($sourceImage);
    imagedestroy($targetImage);
    
    return true;
}
Nach dem Login kopieren

In dieser Funktion erstellen wir zunächst eine Original-Leinwand basierend auf dem Bildtyp und dann eine Ziel-Leinwand basierend auf dem angegebenen Zuschneidebereich. Verwenden Sie dann die Funktion imagecopy, um den angegebenen Bereich im Original-Canvas auf den Ziel-Canvas zu kopieren. Verwenden Sie abschließend die Funktion imagejpeg, um das zugeschnittene Bild zu speichern und Ressourcen freizugeben. imagecopy函数将原始画布中的指定区域复制到目标画布中。最后使用imagejpeg函数保存裁剪后的图片,并释放资源。

步骤三:测试裁剪函数
为了方便测试,我们可以创建一个简单的表单页面,让用户输入裁剪参数。下面是一个简单的HTML代码示例:

<form action="crop.php" method="post" enctype="multipart/form-data">
    <label for="image">选择要裁剪的图片:</label>
    <input type="file" name="image" id="image">
    <br>
    <label for="x">裁剪起点 x 坐标:</label>
    <input type="text" name="x" id="x">
    <br>
    <label for="y">裁剪起点 y 坐标:</label>
    <input type="text" name="y" id="y">
    <br>
    <label for="width">裁剪宽度:</label>
    <input type="text" name="width" id="width">
    <br>
    <label for="height">裁剪高度:</label>
    <input type="text" name="height" id="height">
    <br>
    <input type="submit" value="裁剪">
</form>
Nach dem Login kopieren

在该表单中,用户可以选择一个图片文件,并输入裁剪区域的起点坐标和宽高。提交表单后,将会把表单数据发送到crop.php页面进行裁剪处理。

接下来,我们需要创建一个crop.php页面来接收表单数据并使用我们之前创建的裁剪函数进行图片裁剪。

<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $sourcePath = $_FILES['image']['tmp_name'];
    $targetPath = 'path/to/save/cropped/image.jpg';
    $x = $_POST['x'];
    $y = $_POST['y'];
    $width = $_POST['width'];
    $height = $_POST['height'];
    
    if (cropImage($sourcePath, $targetPath, $x, $y, $width, $height)) {
        echo '图片裁剪成功!';
    } else {
        echo '图片裁剪失败!';
    }
}
?>
Nach dem Login kopieren

在这个crop.php

Schritt 3: Testen Sie die Zuschneidefunktion

Um das Testen zu erleichtern, können wir eine einfache Formularseite erstellen, auf der Benutzer Zuschneideparameter eingeben können. Das Folgende ist ein einfaches HTML-Codebeispiel:
rrreee

In diesem Formular kann der Benutzer eine Bilddatei auswählen und die Startpunktkoordinaten sowie die Breite und Höhe des Zuschneidebereichs eingeben. Nach dem Absenden des Formulars werden die Formulardaten zur Zuschneideverarbeitung an die Seite crop.php gesendet.

Als nächstes müssen wir eine crop.php-Seite erstellen, um die Formulardaten zu empfangen und die zuvor erstellte Zuschneidefunktion zum Zuschneiden des Bildes zu verwenden. 🎜rrreee🎜Auf dieser crop.php-Seite ermitteln wir zunächst, ob die Anforderungsmethode POST ist, und erhalten dann den Pfad der hochgeladenen Bilddatei und die Zuschneideparameter. Rufen Sie abschließend die Zuschneidefunktion auf, um das Bild zuzuschneiden und die entsprechenden Eingabeaufforderungsinformationen zurückzugeben. 🎜🎜Zusammenfassung: 🎜Durch die obigen Schritte können wir PHP verwenden, um den angegebenen Bereich des Bildes zuzuschneiden. Wenn der Benutzer das Bild hochlädt und die entsprechenden Zuschneideparameter eingibt, schneidet das System das Bild automatisch im angegebenen Bereich zu und speichert es im angegebenen Pfad. 🎜🎜Es ist zu beachten, dass in tatsächlichen Anwendungen möglicherweise auch einige Sicherheitsprüfungen erforderlich sind, z. B. die Überprüfung des Bildtyps und die Überprüfung der Parameterlegalität, um die Sicherheit und Robustheit des Systems sicherzustellen. 🎜

Das obige ist der detaillierte Inhalt vonSo beschneiden Sie einen bestimmten Bereich eines Bildes mit PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

CakePHP Datum und Uhrzeit CakePHP Datum und Uhrzeit Sep 10, 2024 pm 05:27 PM

Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

Besprechen Sie CakePHP Besprechen Sie CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

CakePHP-Datei hochladen CakePHP-Datei hochladen Sep 10, 2024 pm 05:27 PM

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

CakePHP erstellt Validatoren CakePHP erstellt Validatoren Sep 10, 2024 pm 05:26 PM

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.

CakePHP-Protokollierung CakePHP-Protokollierung Sep 10, 2024 pm 05:26 PM

Die Anmeldung bei CakePHP ist eine sehr einfache Aufgabe. Sie müssen nur eine Funktion verwenden. Sie können Fehler, Ausnahmen, Benutzeraktivitäten und von Benutzern durchgeführte Aktionen für jeden Hintergrundprozess wie Cronjob protokollieren. Das Protokollieren von Daten in CakePHP ist einfach. Die Funktion log() wird bereitgestellt

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

CakePHP-Kurzanleitung CakePHP-Kurzanleitung Sep 10, 2024 pm 05:27 PM

CakePHP ist ein Open-Source-MVC-Framework. Es erleichtert die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich. CakePHP verfügt über eine Reihe von Bibliotheken, um die Überlastung der häufigsten Aufgaben zu reduzieren.

See all articles