Aktueller Standort: Startseite> Neueste Artikel> Wie erstelle ich einen Retro -Filtereffekt mit ImageConvolution? Stufen und Tipps teilen

Wie erstelle ich einen Retro -Filtereffekt mit ImageConvolution? Stufen und Tipps teilen

M66 2025-06-26

Wie erstelle ich einen Retro -Filtereffekt mit ImageConvolution ? Stufen und Tipps teilen

In modernen Websites und Anwendungen werden häufig Filtereffekte im Retro-Stil verwendet, um eine einzigartige Atmosphäre und Emotionen in das Bild zu bringen. PHP bietet eine reichhaltige Bildverarbeitungsbibliothek, unter der die ImageConvolution -Funktion ein sehr leistungsfähiges Werkzeug ist, mit dem Faltungsfilter auf Bilder angewendet werden können, um verschiedene Spezialeffekte zu erzielen. Heute werden wir mitteilen, wie die ImageConvolution -Funktion verwendet wird, um Retro -Filtereffekte zu erzeugen.

1. Was ist ein Faltungsfilter?

Faltungsfilter sind eine Bildverarbeitungstechnologie, die die Farbe und Helligkeit des Bildes durch Anwenden einer Filtermatrix (oder Faltungskern) auf jedes Pixel des Bildes ändert. Der Ausgangswert jedes Pixels hängt vom gewichteten Durchschnitt der Pixel um, und das Gewicht wird durch den Wert der Filtermatrix bestimmt. Durch die Verwendung verschiedener Filtermatrizen können die Auswirkungen von Schärfen, Unschärfen, Kantenerkennung und anderen Effekten erreicht werden, während Retro -Filter bestimmte Matrizen verwenden, um das Bild zu einem nostalgischen und warmen Stil zu gestalten.

2. Einführung in die ImageConvolution -Funktion

In PHP ist die ImageConvolution eine Funktion, die zur Durchführung von Faltungsoperationen verwendet wird. Die grundlegende Nutzung ist wie folgt:

 <span><span><span class="hljs-keyword">bool</span></span><span> </span><span><span class="hljs-title function_ invoke__">imageconvolution</span></span><span> ( resource </span><span><span class="hljs-variable">$image</span></span><span> , </span><span><span class="hljs-keyword">array</span></span><span> </span><span><span class="hljs-variable">$matrix</span></span><span> , </span><span><span class="hljs-keyword">float</span></span><span> </span><span><span class="hljs-variable">$divisor</span></span><span> , </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$offset</span></span><span> )
</span></span>
  • $ Bild : Die Bildressource, die verarbeitet werden muss.

  • $ matrix : Der Faltungskern, dh ein zweidimensionales Array, definiert den Gewichtungskoeffizienten jedes Pixels.

  • $ divisor : Wird verwendet, um den numerischen Wert einer Matrix zu normalisieren, normalerweise die Summe der Matrixwerte.

  • $ offset : Der Offset, der zum Faltungsberechnungsergebnis hinzugefügt wurde, verwendet zur Anpassung der Helligkeit.

3. Schritte zur Erreichung des Retro -Filtereffekts

  1. Laden Sie Bild <br> Zunächst müssen wir ein Bild laden, um Filter darauf anzuwenden. Bilder in verschiedenen Formaten können durch Funktionen wie ImagecreateFromjpeg () und ImagecreateFrommpng () geladen werden.

  2. Definieren der Retro -Filtermatrix <br> Der Schlüssel zu Retro -Filtern ist die Verwendung des richtigen Faltungskerns. Hier finden Sie eine einfache Filtermatrix im Retro-Stil, die die Bildtöne leicht wärmer machen und einige gelbe und rote Zutaten verbessern kann:

 <span><span><span class="hljs-variable">$matrix</span></span><span> = [
    [</span><span><span class="hljs-number">0.1</span></span><span>, </span><span><span class="hljs-number">0.2</span></span><span>, </span><span><span class="hljs-number">0.1</span></span><span>],
    [</span><span><span class="hljs-number">0.2</span></span><span>, </span><span><span class="hljs-number">1.0</span></span><span>, </span><span><span class="hljs-number">0.2</span></span><span>],
    [</span><span><span class="hljs-number">0.1</span></span><span>, </span><span><span class="hljs-number">0.2</span></span><span>, </span><span><span class="hljs-number">0.1</span></span><span>]
];
</span></span>

Die Funktion dieser Matrix besteht darin, die Farbe des Bildes subtil zu verbessern und anzupassen, was dem Bild einen weichen Retro -Effekt verleiht.

  1. Wenden Sie Faltungsoperationen an <br> Verwenden Sie die ImageConvolution -Funktion, um die obige Matrix auf das Bild anzuwenden. Um einen Retro -Effekt zu erzielen, setzen wir den entsprechenden Divisor- und Offset -Werten.

 <span><span><span class="hljs-variable">$image</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecreatefromjpeg</span></span><span>(</span><span><span class="hljs-string">'your-image.jpg'</span></span><span>); </span><span><span class="hljs-comment">// Bilder laden</span></span><span>
</span><span><span class="hljs-variable">$divisor</span></span><span> = </span><span><span class="hljs-number">1</span></span><span>; </span><span><span class="hljs-comment">// Keine Normalisierung</span></span><span>
</span><span><span class="hljs-variable">$offset</span></span><span> = </span><span><span class="hljs-number">0</span></span><span>;  </span><span><span class="hljs-comment">// Kein Helligkeitsversatz</span></span><span>

</span><span><span class="hljs-title function_ invoke__">imageconvolution</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-variable">$matrix</span></span><span>, </span><span><span class="hljs-variable">$divisor</span></span><span>, </span><span><span class="hljs-variable">$offset</span></span><span>); </span><span><span class="hljs-comment">// Wenden Sie Faltungsfilter an</span></span><span>
</span></span>
  1. Ein Bild speichern oder ausgeben <br> Nach Abschluss der Verarbeitung können Sie ImageJpeg () , ImagePng () und andere Funktionen verwenden, um das verarbeitete Bild als Datei zu speichern oder es direkt in den Browser auszugeben:

 <span><span><span class="hljs-title function_ invoke__">header</span></span><span>(</span><span><span class="hljs-string">'Content-Type: image/jpeg'</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">imagejpeg</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>); </span><span><span class="hljs-comment">// Das verarbeitete Bild ausgeben</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagedestroy</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>); </span><span><span class="hljs-comment">// Zerstöre Bildressourcen,Freier Speicher</span></span><span>
</span></span>

4. Optimierung und fortschrittliche Techniken

  1. Passen Sie den Farbton und die Sättigung an <br> ein Um den Retro -Effekt offensichtlicher zu machen, können Sie zusätzlich zu Faltungsvorgängen auch andere Bildverarbeitungstechniken wie das Anpassen von Ton, Sättigung oder Kontrast verwenden. Mit diesen Anpassungen wird der Retro -Stil des Bildes deutlicher.

  2. Erhöhen Sie den Rauscheneffekt <br> Bilder im Retro-Stil werden häufig von Rauschen begleitet, wodurch die Bilder altersähnlicher aussehen. Diese Effekte können durch einfache Zufallsgeräuschfunktionen simuliert werden.

  3. Kombinieren Sie Filter und Unschärfeeffekte <br> Retro -Filter können in Kombination mit Unschärfeneffekten verwendet werden, um das Gefühl alter Fotos weiter zu simulieren. Beispielsweise kann die Verwendung der mit dem Gaußschen Blur -Filter in Kombination der ImageFilter () -Funktion die Weichheit des Bildes erhöhen.

 <span><span><span class="hljs-title function_ invoke__">imagefilter</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, IMG_FILTER_GAUSSIAN_BLUR); </span><span><span class="hljs-comment">// Gaußsche Unschärfe</span></span><span>
</span></span>
  1. Verwenden Sie Gradientenhintergrund <br> Wenn Ihr Retro -Filter mit einem Hintergrund auf ein Bild angewendet wird, fügen Sie dem Hintergrund einen Gradienteneffekt hinzu, um die nostalgische Atmosphäre weiter zu verbessern.

  2. Retro -Farbmatrix <br> Sie können auch die Farbverzerrung ändern, indem Sie das Gewicht der RGB -Komponente einstellen, z. B. das Gewicht von Rot und Grün und Reduzierung des Blaues, um einen Retro -Gelb oder einen roten Ton zu erzeugen.

5. Zusammenfassung

Die Verwendung von PHPs ImageConvolution -Funktion zum Erstellen eines Retro -Filter -Effekts bietet nicht nur eine einfache und effektive Möglichkeit, das Erscheinungsbild eines Bildes zu ändern, sondern ermöglicht auch reichere Retro -Effekte, indem der Faltungskern und andere Bildverarbeitungstechniken angepasst werden. Durch die flexible Anwendung dieser Techniken können Sie Ihren Webseiten oder Anwendungen mehr künstlerische Bildverarbeitungseffekte hinzufügen und den Benutzern ein nostalgischeres visuelles Erlebnis bieten.