Heim > Backend-Entwicklung > PHP-Tutorial > So verwenden Sie php_imagick, um einen Retro-Effekt zu erzielen_php-Beispiel

So verwenden Sie php_imagick, um einen Retro-Effekt zu erzielen_php-Beispiel

WBOY
Freigeben: 2023-03-02 22:52:01
Original
1754 Leute haben es durchsucht

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

<&#63;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;
&#63;>
Nach dem Login kopieren

2. Erstellen Sie ein Miniaturbild in einem Verzeichnis und speichern Sie es

<&#63;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();
&#63;>
Nach dem Login kopieren

3. Miniaturbild-GIF-animierte Bilder

<&#63;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);
&#63;>
Nach dem Login kopieren

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');
Nach dem Login kopieren

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.

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage