Andreas Korthaus: ImageMagick + MagickWand mit PHP unter Windows

Beitrag lesen

Hallo!

ich habe soeben ImageMagick nebst Magickwand runtergeladen

Das ist nett, das Du meiner Empfehlung gefolgt bist, aber warum bleibst Du dann nicht auch in dem angefangenem Thread?

hab ich auch lange drüber nachgedacht, da ich aber selber vorher das Archiv durchsucht habe, habe ich mir gedacht, ich mache lieber einen neuen auf dessen Titel etwas mehr Auskunft über seinen inhalt gibt. Der alte Thread hätte dem Titel nach ja nur mögliche Bildbearbeitungsprogramme aufgezählt, dieser hier dreht sich jetzt ja explizit um Probleme mit Imagemagick und Magickwand. Sorry falls das falsch war.

Du kannst den Titel auch ändern (z.B. wenn Du auf "Vorschau" klickst). Vorteil dabei ist, dass so Leute ich ich den Zusammenhang kennen und sich nicht wundern was zum Henker Du in PHP mit ner C-API willst.

Im Magickwandpaket in der Datei magickwand/demo/demo.php ist eine kurze Übersicht und ein paar Beispiele.

Wozu brauchst Du unbedingt MagickWand? Was geht nicht mit convert? Ist doch vor allem auf Windows deutlich einfacher, so eine Extension für Windows selber zu kompilieren ist nicht wirklich einfach.

Evtl. würde ich es dann schon eher mit PECL::imagick versuchen (DLL gibts hier: http://snaps.php.net/win32/PECL_STABLE/), damit hast Du auch ZUgriff über die (AFAIK "normale") C-API. Beispiele zur Verwendung:  http://cvs.php.net/pecl/imagick/examples/

also ich würde gerne ein beliebiges Bild öffnen,

in schwarz / weiß bzw. Graustufen umwandeln

Das geht z.B. ganz einfach mit convert:

$ convert   test.png   -colorspace gray   grey_scale.png

Das kannst Du dann über die Kommandozeile aufrufen:

<?php  
$image_original = 'test.png';  
$image_output = 'grey_scale.png';  
shell_exec('convert '.escapeshellarg($image_original).' -colorspace gray '.escapeshellarg($image_output));  
?>

(wenn convert nicht im PATH liegt entweder hinzufügen oder absoluten Pfad verwenden)

und dann einen der Filter die auf der ImageMagick Seite angezeigt werde anwenden. z.b. irgendwas aus dem Bereich Stilisierungs und Malfilter (etwas das einer Handzeichnung recht nahe kommt)

Ich kenne mich mit den ganzen Funktionen selber nicht so aus, aber Du findest viele Beispiele zur Verwendung von convert unter http://www.cit.gu.edu.au/~anthony/graphics/imagick6/ (wie es auch aus dem Manual verlinkt wird). Ich bin mir sicher, dass Du hiermit entsprechende Filter anwenden kannst.

danach möchte ich das Bild so zurückspeichern (eher trivial)

Wenn Du nicht eine neue Datei erzeugen willst, solltest Du wohl besser mogrify verwenden.

Mit der oben verlinkten PECL::imagick Extension musst Du nicht den Umweg über die Shell gehen, sondern kannst das alles direkt in PHP schreiben, siehe Beispiele.

Grüße
Andreas

PS: PECL-Extensions installieren: http://de2.php.net/manual/en/install.pecl.php

--
SELFHTML Linkverzeichnis: http://aktuell.de.selfhtml.org/links/