Inhaltsverzeichnis
1. Load the Original Image
2. Define Crop Area and Create a New Image
3. Copy and Crop Using imagecopyresampled()
4. Save or Output the Cropped Image
5. Free Memory
Heim Backend-Entwicklung PHP-Tutorial Wie man ein Bild in PHP aufnimmt

Wie man ein Bild in PHP aufnimmt

Sep 07, 2025 am 06:08 AM
php Bildverarbeitung

使用GD库的imagecopyresampled()函数可实现PHP图片裁剪,首先加载原图,定义裁剪区域并创建目标图像,接着复制指定区域,最后保存或输出图像并释放内存。

How to crop an image in php

To crop an image in PHP, you can use the GD library, which is commonly available in most PHP installations. The main function used for cropping is imagecopyresampled() or imagecopy(), depending on whether you need resampling (better quality) or a simple copy.

1. Load the Original Image

Before cropping, you need to load the image based on its file type. PHP supports JPEG, PNG, and GIF formats via GD functions.

Example:

$source_image = imagecreatefromjpeg('path/to/image.jpg');
// Use imagecreatefrompng() or imagecreatefromgif() for other formats

2. Define Crop Area and Create a New Image

Specify the x, y coordinates of the top-left corner of the crop area, along with the desired width and height. Then create a new "destination" image to hold the cropped portion.

Example:

$crop_x = 50; // Start X position
$crop_y = 50; // Start Y position
$crop_width = 200; // Width to crop
$crop_height = 150; // Height to crop
$destination = imagecreatetruecolor($crop_width, $crop_height);

3. Copy and Crop Using imagecopyresampled()

This function resizes and copies a rectangular portion of the source image to the destination image. For cropping, width and height stay the same (no scaling).

Example:

imagecopyresampled(
  $destination, $source_image, // destination, source
  0, 0, // x, y in destination
  $crop_x, $crop_y, // x, y in source
  $crop_width, $crop_height, // width, height in destination
  $crop_width, $crop_height // width, height in source
);

4. Save or Output the Cropped Image

You can either save the result to a file or output it directly to the browser.

Example (save as JPEG):

imagejpeg($destination, 'path/to/cropped_image.jpg', 90);
// The third parameter is quality (0-100)

To output directly:

header('Content-Type: image/jpeg');
imagejpeg($destination, null, 90);

5. Free Memory

Always destroy the image resources after use to free up memory.

imagedestroy($source_image);
imagedestroy($destination);

Basically, you define a rectangle on the original image, copy that area into a new image, and save or display it. Make sure the crop area does not exceed the original image dimensions to avoid errors.

Das obige ist der detaillierte Inhalt vonWie man ein Bild in PHP aufnimmt. 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

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

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.

Stock Market GPT

Stock Market GPT

KI-gestützte Anlageforschung für intelligentere Entscheidungen

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)

Wie benutzt ich Generatoren, um Speicher in PHP zu speichern? Wie benutzt ich Generatoren, um Speicher in PHP zu speichern? Sep 06, 2025 am 04:04 AM

Der Generator speichert den Speicher effektiv, indem sie die Werte einzeln ausgeben, anstatt das vollständige Array gleichzeitig zurückzugeben. Verwenden Sie die Funktion von Rendite, um das Generatorobjekt zurückzugeben, nach Bedarf Werte zu generieren und eine große Menge an Datenverbrauchsspeicher zu vermeiden.

Wie implementieren Sie Autoloading für Klassen in PHP? Wie implementieren Sie Autoloading für Klassen in PHP? Sep 06, 2025 am 05:19 AM

Verwenden Sie spl_autoload_register (), um PHP -Klassendateien automatisch zu laden, um den manuellen Import zu vermeiden. Es wird empfohlen, Composer zu verwenden, um den PSR-4-Standard zu implementieren, Verzeichnisse über den Namespace wie App \ Models \ Benutzer zu kartieren, der SRC/Models/user.php entspricht, CompoSerDump-autoload ausführen, um automatische Ladedateien zu generieren, und dann Anbieter/autoload.php einführen.

Wie benutze ich die Foreach -Schleife mit Arrays in PHP? Wie benutze ich die Foreach -Schleife mit Arrays in PHP? Sep 05, 2025 am 09:12 AM

Die Foreach -Schleife vereinfacht das PHP -Array -Traversal und unterstützt die Indexierungs- und assoziative Arrays. 2. Es kann Wert oder Schlüsselwertpaare durchqueren; 3.. Es kann die ursprünglichen Array-Elemente mithilfe und können verwendet werden, um auf den Schlüsselwert von assoziativen Arrays zuzugreifen, was sicherer und prägnanter ist.

Wie finde ich ein Element in einem Array in PHP? Wie finde ich ein Element in einem Array in PHP? Sep 07, 2025 am 06:45 AM

Um das Array -Element zu finden, wählen Sie die Funktion gemäß den Anforderungen aus: In_array () Überprüfen Sie, ob der Wert vorhanden ist, Array_Search (), der dem Wert entsprechend entspricht, und Array_key_exists () prüft, ob der Schlüssel existiert.

Wie misst ich die Skriptausführungszeit in PHP? Wie misst ich die Skriptausführungszeit in PHP? Sep 06, 2025 am 01:09 AM

Holen Sie sich zuerst die Startzeit, dann die Endzeit und subtrahieren Sie die Ausführungszeit. Verwenden Sie Microtime (True), um den Zeitstempel vor und nach einem Skript oder Codeblock aufzuzeichnen. Der Unterschied ist zeitaufwändig in Sekunden, was für Mikrosekunden genau sein kann und für die Leistungserkennung geeignet ist.

Wie man ein Bild in PHP aufnimmt Wie man ein Bild in PHP aufnimmt Sep 07, 2025 am 06:08 AM

Verwenden Sie die Funktion "ImageCopyresampled () der GD -Bibliothek, um das PHP -Bild zu realisieren. Laden Sie zunächst das Originalbild, definieren Sie den Erntebereich und erstellen Sie das Zielbild, kopieren Sie dann den angegebenen Bereich und speichern oder geben Sie schließlich das Bild und den freien Speicher aus.

Wie bekomme ich eine einzelne Spalte von einem mehrdimensionalen Array in PHP? Wie bekomme ich eine einzelne Spalte von einem mehrdimensionalen Array in PHP? Sep 07, 2025 am 05:52 AM

Verwenden Sie die Funktion array_column (), um einzelne Spalten aus mehrdimensionalen Arrays zu extrahieren, assoziative und indexe Arrays zu unterstützen, entsprechende Werte zu erhalten, indem Spaltenschlüssel oder -indizes angegeben werden, und entscheiden Sie sich auch für die Aufbewahrung von Schlüsselnamen, sodass der Code einfach und effizient wird.

Wie arbeite man mit Timezones in PHP? Wie arbeite man mit Timezones in PHP? Sep 08, 2025 am 05:51 AM

Verwenden Sie die DateTime- und DateTimezone -Klassen von PHP, um Zeitzonen korrekt zu verarbeiten. Es wird empfohlen, die UTC-Zeit zu speichern und sie in Benutzerzeitzonen zu konvertieren, wenn sie angezeigt werden, um eine konsistente Kreuzregion zu gewährleisten.

See all articles