Heim  >  Artikel  >  Backend-Entwicklung  >  So erzielen Sie mit php_imagick einen Retro-Effekt

So erzielen Sie mit php_imagick einen Retro-Effekt

墨辰丷
墨辰丷Original
2018-05-31 14:27:021438Durchsuche

Ich glaube, dass viele Leute mit php_imagick vertraut sind. In diesem Artikel werden zunächst php_imagick und einfache Beispiele vorgestellt. Als Referenz und Referenzwert können Freunde in Not einen Blick unten werfen.

Einführung

php_imagick ist eine PHP-Erweiterung, die es PHP ermöglicht, die ImageMagick-Funktion aufzurufen ImageMagick .
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 beliebte TIFF-, JPEG-, GIF-, PNG-, PDF- und PhotoCD-Formate sowie andere Formate . 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 ein Miniaturbild und zeigen Sie es an

<?php
header(&#39;Content-type: image/jpeg&#39;);
$image = new Imagick(&#39;image.jpg&#39;);
// 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(&#39;images/*.JPG&#39;));
foreach($images as $image) {
// Providing 0 forces thumbnailImage to maintain aspect ratio
$image->thumbnailImage(1024,0);
}
$images->writeImages();
?>

3. Animierte GIF-Miniaturbilder

<?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-Effektanzeige

Um den oben genannten Effekt zu erzielen, verwenden wir zunächst Photoshop und verwenden Führen Sie die folgenden Schritte aus.

Öffnen Sie das Originalbild

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überblendungsmodus auf Weich ein Licht

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überblendungsmodus auf „Ausschließen“ ein

Ebenen zusammenführen

Mit PHP-Code müssen Sie nur die oben genannten Schritte befolgen, um ihn zu implementieren. Der Code lautet wie folgt:

//打开图片
$im = new Imagick(&#39;./hebe.jpg&#39;);
//新建图层,使用颜色`#C0FFFF`填充后,不透明度设为`44%`
$layer = new Imagick();
$layer->newImage($im->getImageWidth(), $im->getImageHeight(), &#39;#C0FFFF&#39;);
$layer->setImageOpacity (0.44);
//叠加到原图上,图层混合模式为`柔光`
$im->compositeImage($layer, Imagick::COMPOSITE_SOFTLIGHT, 0, 0);
//新建图层,使用颜色`#000699`填充后,不透明设置为`48%`
$layer = new Imagick();
$layer->newImage($im->getImageWidth(), $im->getImageHeight(), &#39;#000699&#39;);
$layer->setImageOpacity (0.48);
//叠加到原图上,图层混合模式为`排除` 
$im->compositeImage($layer, Imagick::COMPOSITE_EXCLUSION, 0, 0);
//完成!
$im->writeImage(&#39;./vintage.jpg&#39;);

Zusammenfassung: Das Obige ist die Zusammenfassung dieses Artikels. Ich hoffe, dass er für das Studium aller hilfreich sein wird.

Verwandte Empfehlungen:

phpDetaillierte Erläuterung der Schritte zum Generieren von Bildern mit QR-Codes und zum erzwungenen Herunterladen

Nutzung und Analyse von PHP-Datenbank-Redis

Was tun, wenn PHP Post keine Nicht-Formulardaten abrufen kann

Das obige ist der detaillierte Inhalt vonSo erzielen Sie mit php_imagick einen Retro-Effekt. 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
Vorheriger Artikel:PHP+MySQL-VerarbeitungszeitNächster Artikel:PHP+MySQL-Verarbeitungszeit