Suche (verzwifelt) PythonMagick-Dokumentation

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
ichbinsisyphos
User
Beiträge: 120
Registriert: Montag 4. Juni 2007, 19:19

Kennt jemand was?

PythonMagick ist in meiner Distribution normal erhältlich, scheint also noch betreut zu werden.

Aber ich find beim besten Willen keine Doku/Tutorials/Beispiele.
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

dir() und help() kennst du?
problembär

Hi,

ich schätze mal, das wird ähnlich laufen wie PerlMagick:

http://www.imagemagick.org/script/perl-magick.php

Gruß
ichbinsisyphos
User
Beiträge: 120
Registriert: Montag 4. Juni 2007, 19:19

DasIch hat geschrieben:dir() und help() kennst du?
ja kenn ich, hilft aber nicht wirklich weiter.
problembär hat geschrieben:Hi,

ich schätze mal, das wird ähnlich laufen wie PerlMagick:

http://www.imagemagick.org/script/perl-magick.php

Gruß
Na, ich weiß ned recht, sieht schon sehr eigen aus :-)


Seltsam, anscheinend gibts wirklich keine Doku, die beiden sites, die auf python.org gelinkt sind, sind offline. Macht eigentlich den Eindruck, als ob sich keiner mehr was um das Programm schert.
Zuletzt geändert von ichbinsisyphos am Samstag 7. März 2009, 22:45, insgesamt 1-mal geändert.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

ichbinsisyphos hat geschrieben:Macht eigentlich den Eindruck, als ob sich keiner mehr was um das Programm schert.
In Python nutzt man ja auch eher PIL. Ich habe seinerzeit auch versucht GD zu verwenden, was scheinbar im PHP-Umfeld populär ist, aber unter Python hat das keinen interessiert und die Bindings die ich probiert hatte kompilierten nicht.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
ichbinsisyphos
User
Beiträge: 120
Registriert: Montag 4. Juni 2007, 19:19

Leonidas hat geschrieben:
ichbinsisyphos hat geschrieben:Macht eigentlich den Eindruck, als ob sich keiner mehr was um das Programm schert.
In Python nutzt man ja auch eher PIL. Ich habe seinerzeit auch versucht GD zu verwenden, was scheinbar im PHP-Umfeld populär ist, aber unter Python hat das keinen interessiert und die Bindings die ich probiert hatte kompilierten nicht.
Hälst du die Python Image(ing?) Library für gleichwertig mit ImageMagick? Ich hab gehört, dass die zum Beispiel nur 8-bit Farben unterstützt und ähnliche schreckliche Dinge, ist aber schon Jahre her.
BlackJack

Was meinst Du mit "8-Bit-Farben"? 8 Bit pro Farbkanal, ja, aber das reicht doch für die meisten Anwendungen aus.
ichbinsisyphos
User
Beiträge: 120
Registriert: Montag 4. Juni 2007, 19:19

BlackJack hat geschrieben:Was meinst Du mit "8-Bit-Farben"? 8 Bit pro Farbkanal, ja, aber das reicht doch für die meisten Anwendungen aus.
nein, 8 bit insgesamt, 256 farben.
Bin mir aber eh nicht sicher, ich hatte nur im Hinterkopf, dass die PIL mies ist.

Jetzt, wo ich etwas damit experimentiert habe, scheint sie für einfache Anwendungen ok zu sein.
Meist brauch ich nicht mehr als beschneiden, Größe ändern und mehrere Bilder zu einem zusammenfügen.

PIL ist bei weitem nicht so komfortabel wie ImageMagick in der Konsole, aber immer noch besser als ImageMagick mit subprocess in Python einzubinden.
problembär

Hi,
Na, ich weiß ned recht, sieht schon sehr eigen aus
Wenn es in Perl z.B. heißt

Code: Alles auswählen

$x = image->Crop(geometry=>'100x100+100+100');
ist es in Python etwa

Code: Alles auswählen

x = image.crop(geometry = '100x100+100+100')
Ist doch nicht so schwer.

Ich nutze auch oft

Code: Alles auswählen

os.system("convert a.png a.jpg")
Ist in einfachen Fällen auch ausreichend. Dann braucht man kein Modul. Obwohl's natürlich etwas uncool ist. Aber es geht.

Gruß
lunar

subprocess, nicht os.system, das hatte der OP schon festgestellt.
ichbinsisyphos
User
Beiträge: 120
Registriert: Montag 4. Juni 2007, 19:19

problembär hat geschrieben:Hi,
Na, ich weiß ned recht, sieht schon sehr eigen aus
Wenn es in Perl z.B. heißt

Code: Alles auswählen

$x = image->Crop(geometry=>'100x100+100+100');
ist es in Python etwa

Code: Alles auswählen

x = image.crop(geometry = '100x100+100+100')
Ist doch nicht so schwer.

Ich nutze auch oft

Code: Alles auswählen

os.system("convert a.png a.jpg")
Ist in einfachen Fällen auch ausreichend. Dann braucht man kein Modul. Obwohl's natürlich etwas uncool ist. Aber es geht.

Gruß
Ja, mit subprocess hab ich bisher gearbeitet, hat aber seine Nachteile: temp-files und mühsamer syntax.

Ohne vernünftige Dokumentation für PythonMagick müsst ich zuerst PerlMagick lernen und in PythonMagick übersetzen. Dazu kommt noch, dass sich die beiden bindings nicht an der Konsolen-Variante von ImageMagick orientieren, sondern an der C++-Schnittstelle MagickWand.

Das ist mir dann doch zu aufwendig, hab ein relativ heftiges Semester vor mir, vielleicht find ich in den nächsten Weihnachtsferien Zeit :lol:

Ich nehm jetzt die PIL, ist wenigstens gut dokumentiert. +/-append fehlt mir allerdings jetzt schon.
Und ANTIALIAS sollte der Standard-Resizing-Filter sein, meiner Meinung nach.
lunar

ichbinsisyphos hat geschrieben:Ja, mit subprocess hab ich bisher gearbeitet, hat aber seine Nachteile: temp-files und mühsamer syntax.
Wieso benötigt man da temporäre Dateien? ImageMagick kann sowohl von der Standardeingabe lesen als auch auf die Standardausgabe ausgeben ...
ichbinsisyphos
User
Beiträge: 120
Registriert: Montag 4. Juni 2007, 19:19

lunar hat geschrieben:
ichbinsisyphos hat geschrieben:Ja, mit subprocess hab ich bisher gearbeitet, hat aber seine Nachteile: temp-files und mühsamer syntax.
Wieso benötigt man da temporäre Dateien? ImageMagick kann sowohl von der Standardeingabe lesen als auch auf die Standardausgabe ausgeben ...
Angenommen du hast 20 Diagramme und willst sie in einem 4x5-Raster anordnen. Wie machst du das ohne temp-files? :D
Du musst schonmal alle Einzelbilder speichern und danach jede Spalte oder Zeile und das Endprodukt.

Manipulationen an einzelnen Bildern kann ich mir vorstellen, obwohl ich das noch nie probiert hab.

Mit PIL kann ich jetzt im selben Skript meine Brechnungen machen, plotten, die matplotlib-plots in PIL-Bild-Objekte umwandeln, dann auf einem neuen, größeren Bild anordnen ohne irgendwelche Zwischenspeicherung.

Ich bin mir sicher, dass die unterschiedlichen ImageMagick-bindings ähnliches erlauben.
lunar

ichbinsisyphos hat geschrieben:
lunar hat geschrieben:
ichbinsisyphos hat geschrieben:Ja, mit subprocess hab ich bisher gearbeitet, hat aber seine Nachteile: temp-files und mühsamer syntax.
Wieso benötigt man da temporäre Dateien? ImageMagick kann sowohl von der Standardeingabe lesen als auch auf die Standardausgabe ausgeben ...
Angenommen du hast 20 Diagramme und willst sie in einem 4x5-Raster anordnen. Wie machst du das ohne temp-files? :D
Point taken ... ich hab schlicht nicht daran gedacht, dass man auch mal mehrere Bilder verarbeiten möchte :)
Antworten