Heim  >  Artikel  >  Backend-Entwicklung  >  Lassen Sie uns darüber sprechen, wie man in PHP Schwarz auf Transparent setzt

Lassen Sie uns darüber sprechen, wie man in PHP Schwarz auf Transparent setzt

PHPz
PHPzOriginal
2023-04-12 15:06:301333Durchsuche

Bei der PHP-Programmierung werden häufig Bildverarbeitungsfunktionen verwendet, z. B. das Skalieren und Zuschneiden von Bildern. Ein häufig auftretendes Problem besteht darin, den schwarzen Hintergrund im Bild transparent zu machen und ein PNG-24-Bit-Transparenzbild zu erreichen.

Heute besprechen wir, wie man mit PHP Schwarz auf Transparent setzt.

Zunächst müssen wir die GD-Bibliothek von PHP verwenden, um Bilder zu verarbeiten. Die GD-Bibliothek ist eine beliebte Grafikverarbeitungsbibliothek, mit der verschiedene Grafikdateien verarbeitet werden können.

In PHP können Sie die GD-Bibliothek über den folgenden Code öffnen:

<?php
// 开启GD库
if(!function_exists(&#39;imagecreate&#39;)){
   echo &#39;GD库未安装!&#39;;
}
?>

Als nächstes müssen wir verstehen, wie wir die GD-Bibliothek zum Bearbeiten von Bildern verwenden.

Der grundlegende Prozess zum Bearbeiten von Bildern durch die PHP-GD-Bibliothek ist wie folgt:

  1. Erstellen Sie ein Bild Bild;
  2. Ein Bild kopieren;
  3. Bild zoomen, zuschneiden und drehen;
  4. Hier konzentrieren wir uns hauptsächlich auf den vierten Schritt, wie man das Bild skaliert, zuschneidet und dreht.
  5. Für Skalierungs- und Rotationsvorgänge können Sie direkt die entsprechenden Funktionen verwenden, und für Zuschneidevorgänge müssen wir die Funktion imagecopy() verwenden. Die Funktion imagecopy() kann einen Teil des Originalbilds in das Zielbild kopieren, um einen Zuschneideeffekt zu erzielen.

Wenn wir diese Funktionen zum Bearbeiten von Bildern verwenden, müssen wir auf einige Details achten. Beim Speichern von Bildern müssen wir beispielsweise auf das Format und das Farbmodell des Speichers achten. Normalerweise müssen wir das Bild im PNG-Format speichern und das True-Color-Modell verwenden.

Jetzt kommen wir zurück zu unserem Problem, wie man den schwarzen Hintergrund im Bild transparent macht.

Wir können dies durch die folgenden Schritte erreichen:

Verwenden Sie die Funktion imagecreatefrompng(), um ein Bild im PNG-Format zu erstellen; #Loop Durchlaufe alle Pixel des Bildes;

Verwenden Sie die Funktion imagecolorat(), um die Farbe jedes Pixels zu ermitteln;
    Wenn die Farbe schwarz ist, setzen Sie die Transparenz des Pixels auf 0;
  1. Verwenden Sie abschließend die Funktion imagepng(), um das Bild im PNG-Format zu speichern.
  2. Das Folgende ist der PHP-Code für diesen Vorgang:
  3. $src_image = imagecreatefrompng('source.png');
    $width = imagesx($src_image);
    $height = imagesy($src_image);
    for($x = 0; $x < $width; $x++){
        for($y = 0; $y < $height; $y++){
            $rgb = imagecolorat($src_image, $x, $y);
            $colors = imagecolorsforindex($src_image, $rgb);
            if($colors['red'] == 0 && $colors['green'] == 0 && $colors['blue'] == 0){
                imagesetpixel($src_image, $x, $y, imagecolorallocatealpha($src_image, 0, 0, 0, 127));
            }
        }
    }
    imagesavealpha($src_image, true);
    imagepng($src_image, 'result.png');
    imagedestroy($src_image);
  4. In diesem Code erstellen wir zunächst das Originalbild mit der Funktion imagecreatefrompng(). Verwenden Sie dann die Funktionen imagesx() und imagesy(), um die Breite und Höhe des Originalbilds zu ermitteln. Als nächstes haben wir eine Doppelschleife verwendet, um alle Pixel zu durchlaufen, die Funktion imagecolorat() verwendet, um die Farbe jedes Pixels zu ermitteln, und die Funktion imagecolorsforindex() verwendet, um den RGB-Wert der Farbe zu ermitteln. Wenn die Farbe Schwarz ist, verwenden wir die Funktion imagesetpixel(), um die Transparenz des Pixels auf 0 zu setzen und das Bild im PNG-Format zu speichern.
  5. Mit dem obigen Code können wir ein Bild im PNG-Format mit schwarzem Hintergrund in ein Bild im PNG-Format mit transparentem Hintergrund konvertieren.
  6. Zusammenfassend ist die Verwendung von PHP zum Festlegen von Schwarz als transparentem Hintergrund sehr nützlich, wenn wir Bildverarbeitungsfunktionen verwenden. Wenn wir diese Fähigkeit beherrschen, können wir uns bei der Verarbeitung von Bildern wohler fühlen.

Das obige ist der detaillierte Inhalt vonLassen Sie uns darüber sprechen, wie man in PHP Schwarz auf Transparent setzt. 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