Heim >Backend-Entwicklung >PHP-Tutorial >So verwenden Sie php_imagick, um einen Retro-Effekt zu erzielen_php-Beispiel
Einführung
php_imagick ist eine PHP-Erweiterung, die es PHP ermöglicht, ImageMagick-Funktionen aufzurufen. Durch die Verwendung dieser Erweiterung kann PHP die gleichen Funktionen wie ImageMagick haben.
ImageMagick ist ein leistungsstarkes, stabiles und kostenloses Toolset und Entwicklungspaket, mit dem Bilddateien in mehr als 185 Grundformaten gelesen, geschrieben und verarbeitet werden können, darunter die gängigen Formate TIFF, JPEG, GIF, PNG, PDF und PhotoCD. Mit ImageMagick können Sie Bilder entsprechend den Anforderungen von Webanwendungen dynamisch generieren. Sie können einem Bild (oder einer Gruppe von Bildern) auch die Größe ändern, drehen, schärfen, die Farbe reduzieren oder Spezialeffekte hinzufügen und die Ergebnisse speichern gleiches Format oder in anderen Formaten speichern.
php_imagick-Programmbeispiel
1. Erstellen Sie eine Miniaturansicht und zeigen Sie sie an
<?php header('Content-type: image/jpeg'); $image = new Imagick('image.jpg'); // If 0 is provided as a width or height parameter,// aspect ratio is maintained $image->thumbnailImage(100, 0); echo $image; ?>
2. Erstellen Sie ein Miniaturbild in einem Verzeichnis und speichern Sie es
<?php $images = new Imagick(glob('images/*.JPG')); foreach($images as $image) { // Providing 0 forces thumbnailImage to maintain aspect ratio $image->thumbnailImage(1024,0); } $images->writeImages(); ?>
3. Miniaturbild-GIF-animierte Bilder
<?php /* Create a new imagick object and read in GIF */ $im = new Imagick("example.gif"); /* Resize all frames */ foreach ($im as $frame) { /* 50x50 frames */ $frame->thumbnailImage(50, 50); /* Set the virtual canvas to correct size */ $frame->setImagePage(50, 50, 0, 0); }/* Notice writeImages instead of writeImage */ $im->writeImages("example_small.gif", true); ?>
So verwenden Sie php_imagick, um einen Retro-Effekt zu erzielen
Werfen wir zunächst einen Blick auf die Renderings
Retro-Effekt-Anzeige
Um die oben genannten Effekte zu erzielen, verwenden wir zunächst Photoshop, um die folgenden Schritte auszuführen.
Originalbild öffnen
Erstellen Sie eine neue Ebene, füllen Sie sie mit der Farbe #C0FFFF, stellen Sie die Deckkraft auf 44 % ein und stellen Sie den Ebenen-Mischmodus auf Weiches Licht ein
Erstellen Sie eine neue Ebene, füllen Sie sie mit der Farbe #000699, stellen Sie die Deckkraft auf 48 % ein und stellen Sie den Ebenen-Mischmodus auf „Ausschließen“ ein.
Ebenen zusammenführen
Wenn Sie PHP-Code verwenden, müssen Sie nur die oben genannten Schritte ausführen, um ihn zu implementieren. Der Code lautet wie folgt:
//打开图片 $im = new Imagick('./hebe.jpg'); //新建图层,使用颜色`#C0FFFF`填充后,不透明度设为`44%` $layer = new Imagick(); $layer->newImage($im->getImageWidth(), $im->getImageHeight(), '#C0FFFF'); $layer->setImageOpacity (0.44); //叠加到原图上,图层混合模式为`柔光` $im->compositeImage($layer, Imagick::COMPOSITE_SOFTLIGHT, 0, 0); //新建图层,使用颜色`#000699`填充后,不透明设置为`48%` $layer = new Imagick(); $layer->newImage($im->getImageWidth(), $im->getImageHeight(), '#000699'); $layer->setImageOpacity (0.48); //叠加到原图上,图层混合模式为`排除` $im->compositeImage($layer, Imagick::COMPOSITE_EXCLUSION, 0, 0); //完成! $im->writeImage('./vintage.jpg');
Zusammenfassung
Das Obige ist die Methode zur Erzielung eines Retro-Effekts. Der Artikel stellt es im Detail anhand eines Beispielcodes vor. Ich hoffe, dass der Inhalt dieses Artikels jedem beim Lernen helfen kann Kommen Sie vorbei, um Hilfe zu erhalten. Wenn Sie Fragen haben, können Sie uns eine Nachricht hinterlassen.