„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Warum erzeugt imagecreatefrompng() einen schwarzen Hintergrund anstelle eines transparenten Bereichs?

Warum erzeugt imagecreatefrompng() einen schwarzen Hintergrund anstelle eines transparenten Bereichs?

Veröffentlicht am 08.11.2024
Durchsuche:706

Why does imagecreatefrompng() Produce a Black Background Instead of a Transparent Area?

imagecreatefrompng() Schwarzen Hintergrund anstelle eines transparenten Bereichs erzeugen?

In PHP wird die Funktion imagecreatefrompng() häufig für die Arbeit mit PNG verwendet Bilder. Es wurde jedoch beobachtet, dass bei Verwendung dieser Funktion die PNG-Transparenz möglicherweise in eine einfarbige schwarze Farbe umgewandelt wird.

Um dieses Problem zu beheben, können die folgenden Schritte ausgeführt werden, nachdem mit imagecreatetruecolor() eine neue Leinwand erstellt wurde:

  1. Eine schwarze Farbe zuweisen: Weisen Sie einer Ganzzahlvariablen eine schwarze Farbe zu, indem Sie imagecolorallocate() verwenden. Funktion.
  2. Schwarz aus der Transparenz entfernen: Verwenden Sie die Funktion imagecolortransparent(), um Schwarz als transparente Farbe festzulegen und es effektiv unsichtbar zu machen.
  3. Deaktivieren Sie Alpha Blending : Verwenden Sie imagealphablending() mit einem falschen Wert, um zu verhindern, dass der Alphakanal mit dem Bild überblendet wird Farben.
  4. Erhaltung des Alpha-Kanals aktivieren: Verwenden Sie imagesavealpha() mit einem echten Wert, um den gesamten Transparenzbereich beizubehalten.

Durch die Implementierung dieser Änderungen wird das Alpha Die Kanalinformationen im PNG-Bild bleiben erhalten und verhindern so die Konvertierung in einen schwarzen Hintergrund. Der aktualisierte Code würde wie folgt aussehen:

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3