Heim  >  Artikel  >  Backend-Entwicklung  >  So lassen Sie PHP über Imagick Miniaturansichten von PSD-Dateien generieren (Beispiel)

So lassen Sie PHP über Imagick Miniaturansichten von PSD-Dateien generieren (Beispiel)

藏色散人
藏色散人nach vorne
2020-01-21 14:18:462773Durchsuche

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.

So lassen Sie PHP über Imagick Miniaturansichten von PSD-Dateien generieren (Beispiel)

Lassen Sie PHP PSD-Datei-Miniaturansichten über Imagick generieren

Der erste Schritt ist die Installation von ImageMagick

Sie müssen zuerst ImageMagick installieren, da imagick eine PHP-Erweiterung ist, die es PHP ermöglicht, die ImageMagick-Funktion aufzurufen. (Die neueste Version ist: ImageMagick-6.8.9-5-Q16-x64-dll.exe)

Das Installationsverzeichnis darf keine Leerzeichen enthalten. Ich persönlich habe es im Stammverzeichnis von Laufwerk C:

installiert
C:\ImageMagick

Es kann standardmäßig vollständig installiert werden. Öffnen Sie nach Abschluss der Installation die CMD-Befehlszeilenschnittstelle, geben Sie „convert“ ein und drücken Sie die Eingabetaste.

Wenn Sie aufgefordert werden, „Konvertieren ist kein interner oder externer Befehl, kein ausführbares Programm oder keine Batchdatei“ oder „Bitte geben Sie den zu konvertierenden Laufwerksbuchstaben ein“ (Konvertieren ist ein Standardsystem zum Konvertieren von FAT32 in NTFS-Befehl), dann Sie müssen den ImageMagick-Installationspfad selbst zum Systempfad hinzufügen.

Mein Computer-> Rechtsklick-> Umgebungsvariablen-> Fügen Sie Ihren Installationspfad hinzu.

Zweiter Schritt, imagick installieren

Klicken Sie hier zum Herunterladen. Bitte achten Sie beim Herunterladen auf die entsprechende PHP-Version 32-Bit oder 64-Bit ist und ob PHP die NTS-Version oder die TS-Version ist (die neueste stabile Version ist 3.1.2). Um festzustellen, ob PHP die NTS-Version oder die TS-Version ist, können Sie die Thread-Sicherheit überprüfen Element über phpinfo. Wenn es aktiviert ist, bedeutet es, dass es sich um eine TS-Version handelt, andernfalls um eine NTS-Version.)

Entpacken Sie das heruntergeladene komprimierte Paket, suchen Sie die Datei php_imagick.dll, legen Sie sie dann im PHP-Erweiterungsverzeichnis ab Öffnen Sie die Datei php.ini und suchen Sie sie am entsprechenden Speicherort. Fügen Sie die folgende Zeile hinzu:

extension=php_imagick.dll

Speichern Sie, beenden Sie den Computer und starten Sie ihn neu, um sicherzustellen, dass er wirksam wird.

Wenn es nicht wirksam wird, kopieren Sie alle „CORE_RL_*.dll“-Dateien im komprimierten Paket in das PHP-Stammverzeichnis, z. B.: D:php5.6

Überprüfen Sie im dritten Schritt:

Wenn alles normal ist, sollten Sie nach dem Neustart das Imagick-Element in phpinfo sehen können, z. B.:

Wenn es nicht gefunden wird, kehren Sie zum ersten zurück Schritt und wechseln Sie erneut zu einer anderen Version von ImageMagick. Installieren Sie es erneut und nehmen Sie es erneut in Betrieb.

Schritt 4, Test

OK, in diesem Schritt können Sie mit dem Schreiben von Code beginnen. Ich werde nicht näher auf den Prozess eingehen, sondern nur auf den Code eingehen.

error_reporting(E_ERROR | E_WARNING);
 
$im = new Imagick('1.psd');
$im->setImageIndex(0);
$im->setIteratorIndex(0);
$im->stripImage(); //去除图片信息
$im->setImageCompressionQuality(80); //图片质量
$im->writeImage('1.jpg');

Der obige Code wurde getestet und kann korrekt ein 1.jpg-Bild generieren.

Es wird empfohlen, dass die Miniaturansichten im JPG-Format vorliegen, da das PNG-Format keine Komprimierung unterstützt. Ich habe während des Tests eine 30 MB große PSD-Datei verwendet und die generierte PNG-Miniaturansicht war größer als 3 MB, während dies bei JPG der Fall war nur etwa 200 KB, und die generierte Geschwindigkeit von PNG-Bildern ist offensichtlich sehr langsam und dauert etwa 3 oder 4 Sekunden.

Zusätzlich haben wir einen Extremtest durchgeführt und eine PSD-Datei von fast 600 MB verwendet, um JPG-Miniaturansichten zu erstellen. Die Geschwindigkeit lag im Wesentlichen bei 2 Sekunden und die Dateigröße betrug weniger als 2,5 MB wurde nicht geändert. Daher kann die Größe der endgültig generierten Datei entsprechend der tatsächlichen Situation reduziert werden.

Schritt 5, andere Formate

Neben PSD-Dateien habe ich auch einige andere Formate ausprobiert, wie MP4, AVI und andere Videoformate, aber die Generierungsgeschwindigkeit ist super langsam. Schließlich habe ich herausgefunden, dass es am praktischsten ist, Miniaturansichten von PDF-Dateien zu erstellen, aber bevor Sie PDF-Dateien verarbeiten, müssen Sie Ghostscript installieren, und dann ist der Gesamtcode im Grunde derselbe wie der Code zum Generieren von PSD

$im = new Imagick();
$im->readImage('D:/soft/wamp/www/test/1.pdf[0]');
//echo $im->getNumberImages();
$im->writeImages('D:/soft/wamp/www/test/1.jpg', false);

Mehr PHP Weitere Informationen finden Sie im PHP-Tutorial!

Das obige ist der detaillierte Inhalt vonSo lassen Sie PHP über Imagick Miniaturansichten von PSD-Dateien generieren (Beispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen