Heim Backend-Entwicklung PHP-Tutorial PHP-Bildverarbeitungsfähigkeiten enthüllt

PHP-Bildverarbeitungsfähigkeiten enthüllt

Sep 13, 2023 am 09:30 AM
技巧 php图片处理 Große Enthüllung

PHP-Bildverarbeitungsfähigkeiten enthüllt

PHP-Bildverarbeitungskenntnisse enthüllt

In modernen Internetanwendungen ist die Bildverarbeitung eine der häufigsten Anforderungen. Unabhängig davon, ob Sie Bilder komprimieren, zuschneiden, Wasserzeichen hinzufügen, Miniaturansichten erstellen usw., müssen Sie Bildverarbeitungsfähigkeiten einsetzen. Als hervorragende serverseitige Programmiersprache bietet PHP umfangreiche Bildverarbeitungsfunktionen und Erweiterungsbibliotheken, die uns bei der Erfüllung dieser Anforderungen gut unterstützen. In diesem Artikel werden einige PHP-Bildverarbeitungstechniken vorgestellt und spezifische Codebeispiele bereitgestellt.

  1. Bildkomprimierung

Bildkomprimierung ist ein wichtiges Mittel, um die Ladegeschwindigkeit von Websites zu optimieren und den Bandbreitenverbrauch zu reduzieren. Sie können die GD-Bibliothek in PHP zur Bildkomprimierung verwenden. Das Folgende ist ein Beispielcode für die Bildkomprimierung mithilfe der GD-Bibliothek:

function compressImage($source, $destination, $quality) {
  $info = getimagesize($source);
  
  if ($info['mime'] == 'image/jpeg') {
    $image = imagecreatefromjpeg($source);
  } elseif ($info['mime'] == 'image/gif') {
    $image = imagecreatefromgif($source);
  } elseif ($info['mime'] == 'image/png') {
    $image = imagecreatefrompng($source);
  }
  
  imagejpeg($image, $destination, $quality);
  
  return $destination;
}

$source = 'original.jpg';
$destination = 'compressed.jpg';
$quality = 50;

compressImage($source, $destination, $quality);
Nach dem Login kopieren
  1. Bildzuschnitt

In praktischen Anwendungen müssen Bilder häufig entsprechend den Anforderungen zugeschnitten werden, um sie an unterschiedliche Größenanforderungen anzupassen. Das Folgende ist ein Beispielcode für das Zuschneiden von Bildern mit der GD-Bibliothek:

function cropImage($source, $destination, $x, $y, $width, $height) {
  $info = getimagesize($source);
  
  if ($info['mime'] == 'image/jpeg') {
    $image = imagecreatefromjpeg($source);
  } elseif ($info['mime'] == 'image/gif') {
    $image = imagecreatefromgif($source);
  } elseif ($info['mime'] == 'image/png') {
    $image = imagecreatefrompng($source);
  }
  
  $crop = imagecrop($image, ['x' => $x, 'y' => $y, 'width' => $width, 'height' => $height]);
  
  imagejpeg($crop, $destination);
  
  return $destination;
}

$source = 'original.jpg';
$destination = 'cropped.jpg';
$x = 0;
$y = 0;
$width = 200;
$height = 200;

cropImage($source, $destination, $x, $y, $width, $height);
Nach dem Login kopieren
  1. Wasserzeichen hinzufügen

Wasserzeichen ist eine Möglichkeit, das Urheberrecht von Bildern zu schützen und Bildinformationen anzuzeigen. Mit PHP können Sie Bildern ganz einfach Wasserzeichen hinzufügen. Das Folgende ist ein Beispielcode, der die GD-Bibliothek verwendet, um Wasserzeichen zu Bildern hinzuzufügen:

function addWatermark($source, $watermark, $position) {
  $info = getimagesize($source);
  
  if ($info['mime'] == 'image/jpeg') {
    $image = imagecreatefromjpeg($source);
  } elseif ($info['mime'] == 'image/gif') {
    $image = imagecreatefromgif($source);
  } elseif ($info['mime'] == 'image/png') {
    $image = imagecreatefrompng($source);
  }
  
  $watermarkImg = imagecreatefrompng($watermark);
  
  $watermarkWidth = imagesx($watermarkImg);
  $watermarkHeight = imagesy($watermarkImg);
  
  switch ($position) {
    case 'top-left':
      $x = 0;
      $y = 0;
      break;
    case 'top-right':
      $x = imagesx($image) - $watermarkWidth;
      $y = 0;
      break;
    case 'bottom-left':
      $x = 0;
      $y = imagesy($image) - $watermarkHeight;
      break;
    case 'bottom-right':
      $x = imagesx($image) - $watermarkWidth;
      $y = imagesy($image) - $watermarkHeight;
      break;
    default:
      $x = 0;
      $y = 0;
      break;
  }
  
  imagecopy($image, $watermarkImg, $x, $y, 0, 0, $watermarkWidth, $watermarkHeight);
  
  imagejpeg($image, $source);
  
  return $source;
}

$source = 'original.jpg';
$watermark = 'watermark.png';
$position = 'bottom-right';

addWatermark($source, $watermark, $position);
Nach dem Login kopieren
  1. Miniaturansichten generieren

Bei der Anzeige von Bildern ist es zur Anpassung an unterschiedliche Anzeigeanforderungen häufig erforderlich, Miniaturansichten zu generieren. Das Folgende ist ein Beispielcode, der die GD-Bibliothek zum Generieren von Miniaturansichten verwendet:

function generateThumbnail($source, $destination, $width, $height) {
  $info = getimagesize($source);
  
  if ($info['mime'] == 'image/jpeg') {
    $image = imagecreatefromjpeg($source);
  } elseif ($info['mime'] == 'image/gif') {
    $image = imagecreatefromgif($source);
  } elseif ($info['mime'] == 'image/png') {
    $image = imagecreatefrompng($source);
  }
  
  $thumb = imagecreatetruecolor($width, $height);
  
  imagecopyresampled($thumb, $image, 0, 0, 0, 0, $width, $height, imagesx($image), imagesy($image));
  
  imagejpeg($thumb, $destination);
  
  return $destination;
}

$source = 'original.jpg';
$destination = 'thumbnail.jpg';
$width = 200;
$height = 200;

generateThumbnail($source, $destination, $width, $height);
Nach dem Login kopieren

Oben sind einige PHP-Bildverarbeitungstechniken und entsprechende Codebeispiele aufgeführt. Mithilfe der GD-Bibliothek und der Bildverarbeitungsfunktionen von PHP können wir Bilder einfach komprimieren, zuschneiden, Wasserzeichen hinzufügen und Miniaturansichten erstellen. Ich hoffe, dieser Artikel hilft Ihnen bei der Arbeit mit Bildern in der Entwicklung.

Das obige ist der detaillierte Inhalt vonPHP-Bildverarbeitungsfähigkeiten enthüllt. 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 Artikel -Tags

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)

In einer Minute erledigt! Wie man den Bildschirm vom Huawei-Handy auf den Fernseher überträgt, wurde enthüllt In einer Minute erledigt! Wie man den Bildschirm vom Huawei-Handy auf den Fernseher überträgt, wurde enthüllt Mar 22, 2024 pm 06:09 PM

In einer Minute erledigt! Wie man den Bildschirm vom Huawei-Handy auf den Fernseher überträgt, wurde enthüllt

Teilen von Win11-Tipps: Ein Trick, um die Anmeldung mit einem Microsoft-Konto zu überspringen Teilen von Win11-Tipps: Ein Trick, um die Anmeldung mit einem Microsoft-Konto zu überspringen Mar 27, 2024 pm 02:57 PM

Teilen von Win11-Tipps: Ein Trick, um die Anmeldung mit einem Microsoft-Konto zu überspringen

Was sind die Tipps für Anfänger zum Erstellen von Formularen? Was sind die Tipps für Anfänger zum Erstellen von Formularen? Mar 21, 2024 am 09:11 AM

Was sind die Tipps für Anfänger zum Erstellen von Formularen?

VSCode-Erste-Schritte-Leitfaden: Ein Muss für Anfänger, um die Verwendungsfähigkeiten schnell zu erlernen! VSCode-Erste-Schritte-Leitfaden: Ein Muss für Anfänger, um die Verwendungsfähigkeiten schnell zu erlernen! Mar 26, 2024 am 08:21 AM

VSCode-Erste-Schritte-Leitfaden: Ein Muss für Anfänger, um die Verwendungsfähigkeiten schnell zu erlernen!

Ein Muss für Veteranen: Tipps und Vorsichtsmaßnahmen für * und & in C-Sprache Ein Muss für Veteranen: Tipps und Vorsichtsmaßnahmen für * und & in C-Sprache Apr 04, 2024 am 08:21 AM

Ein Muss für Veteranen: Tipps und Vorsichtsmaßnahmen für * und & in C-Sprache

PHP-Programmierkenntnisse: So springen Sie innerhalb von 3 Sekunden zur Webseite PHP-Programmierkenntnisse: So springen Sie innerhalb von 3 Sekunden zur Webseite Mar 24, 2024 am 09:18 AM

PHP-Programmierkenntnisse: So springen Sie innerhalb von 3 Sekunden zur Webseite

Enthüllte Win11-Tricks: So umgehen Sie die Anmeldung bei einem Microsoft-Konto Enthüllte Win11-Tricks: So umgehen Sie die Anmeldung bei einem Microsoft-Konto Mar 27, 2024 pm 07:57 PM

Enthüllte Win11-Tricks: So umgehen Sie die Anmeldung bei einem Microsoft-Konto

Tipps zur Verwendung von Laravel-Formularklassen: Möglichkeiten zur Verbesserung der Effizienz Tipps zur Verwendung von Laravel-Formularklassen: Möglichkeiten zur Verbesserung der Effizienz Mar 11, 2024 pm 12:51 PM

Tipps zur Verwendung von Laravel-Formularklassen: Möglichkeiten zur Verbesserung der Effizienz

See all articles