wie kann ich bei perl und imageMagick die Anzahl der Farben vor dem Speichern reduzieren?

  • Hallo,


    habe inzwischen rausgefunden, dass die perl-Erweiterung für ImageMagick "automatisch" installiert wird, wenn beides auf der Kiste landet.


    Bin jetzt auch soweit, dass ich die Hintergrundbilder erzeugen kann.
    Nur beim Erzeugen des Menüs bekommen ich noch folgende Fehler:

    Code
    INFO: Picture /etc/vdr/plugins/burn/trans-bg.png had 1 colors
    INFO: Picture test/main-4-bt.png had 48 colors
    spumux: subgen.c:226: findmasterpal: Assertion `s->numpal<16' failed.

    Hab leider keine Ahnung von dem ganzen Grafik-geraffel.
    Ich vermute, dass ich vor dem Speichern angeben muss, dass bei png nur eine Palette von 15 Farben verwendet werden darf.


    Kann mir bitte jemand sagen, wie ich das machen kann?
    Bei ImageMagick gibt es leider nur eine Doku für die Schnittstelle. Wenn man die Grafik-Seite dann nich kennt, is das ziemlich mager, was sich aus der doku rausziehen läßt.


    Bin für jeden Tip dankbar.

    Ich bin verantwortlich für das, was ich schreibe, nicht für das, was Du verstehst!

  • Zitat

    Original von geronimo
    Kann mir bitte jemand sagen, wie ich das machen kann?
    Bei ImageMagick gibt es leider nur eine Doku für die Schnittstelle. Wenn man die Grafik-Seite dann nich kennt, is das ziemlich mager, was sich aus der doku rausziehen läßt.


    Du redest doch von den Perlmodul Image::Magick !? dann würde ich folgendes vorschlagen

    Code
    $err = $image->Quantize(colors=>16,global_colormap=>'false', dither=>'true');die $err if $err;



    BTW: Vorher ein wenig Nachschärfen kann nie schaden :

    Code
    $err = $image->Enhance( );die $err if $err;
    $err = $image->Normalize( );die $err if $err;
    $err = $image->Sharpen( 5 );die $err if $err;
    $err = $image->Quantize(colors=>16,global_colormap=>'false', dither=>'true');die $err if $err;


    Für den Anfang sollte die Userdokumention ebenfalls weiterhelfen
    http://www.imagemagick.org/script/perl-magick.php
    bzw. die ImageMagick Users Guide http://www.imagefolio.com/ImageMagick/ImageMagick.pdf


    Andreas

  • Hallo Andreas,


    danke Dir für die Antwort.


    Die Doku hatte ich schon überflogen - nur - denke ich, dass die eher geeignet ist für einen Grafiker, der wissen will, wie die Programmierschnittstelle aussieht.
    Dagegen empfinde ich sie als ungeeignet für einen Programmierer, der ne Grafik aufbauen oder manipulieren will.


    Wenn man weiß, welche Funktion man braucht, ist es wohl hinreichend erklärt. Andersrum finde ich doch gewaltige Lücken (z.B. auch beim Zeichnen eines Kreises. Man findet lediglich einen Hinweis, dass man Punkte angeben kann/muss. Welche Punkte das sein können, bzw. was man mit ihnen verändern kann - da schweigt das Handbuch). Ferner vermisse ich eine Funktion (wie z.B. bei pdflib) die einem die Länge eines Strings in Punkten ausgibt - Die Textausgabe gerät so schnell zum Ratespiel.
    Ok, aber das führt zu weit.


    Um so mehr danke ich Dir, dass Du mich zur Funktion geleitet hast.
    Werde es gleich ausprobieren.

    Ich bin verantwortlich für das, was ich schreibe, nicht für das, was Du verstehst!

  • Andreas Du bist mein Held!


    Ich habe es gerade mit colors=15 probiert (weil es in der Fehlermeldung heißt, dass die Anzahl Farben < 16 sein soll), aber das gab ein segfault.


    Genauso wie Du es geschrieben hast funzt es. :]


    Jetzt noch ein paar Tests und dann bekommt der Rechner nen Job fürs verlängerte Wochenende :)

    Ich bin verantwortlich für das, was ich schreibe, nicht für das, was Du verstehst!

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!