ubuntuusers.de

visgrep und png2pat: Error, unable to load png/Failed to load s.png

Status: Gelöst | Ubuntu-Version: Ubuntu 10.04 (Lucid Lynx)
Antworten |

TPf

Anmeldungsdatum:
22. August 2010

Beiträge: 10

Hallo Spezialisten,

ich habe mich bezüglich automatischer Tests mit dem Paket "xautomation" auseinandergesetzt. Allerdings bin ich noch nicht über die ersten Hürden hinweggekommen: Ich schaffe es einfach nicht, ein ".pat"-File zu erzeugen und es dann mit "visgrep" einzusetzen.

Folgendes habe ich vor: Ich suche im Screen-shot eines Fensters nach einem Bild und bekomme die Koordinaten zurück.

Ich habe mir also ein paar PNG's erzeugt: window.png (hier will ich suchen), button.png (danach suche ich).

Laut der Hilfe muss ich erst einmal button.png in button.pat umwandeln. Ein Aufruf von "png2pat button.png > button.pat" liefert aber nur die Zeile "Failed to load button.png" in der Datei "button.pat".

Muss ich das PNG erst noch in ein spezielles Format umwandeln? Hat jemand Erfahrung mit dem Paket?

Viele Grüße, Thomas

theinlein

Anmeldungsdatum:
29. Dezember 2007

Beiträge: 1279

müsste eigentlich so funktionieren. haste mal die Rechte von button.png überprüft? liegt das File auch im aktuellen Directory? Mit was hast du button.png erzeugt?

TPf

(Themenstarter)

Anmeldungsdatum:
22. August 2010

Beiträge: 10

Hallo theinlein,

es ist alles im selben (meinem) Verzeichnis. Die Rechte auf 777 setzen hat auch nichts gebracht. Zum einfachen Nachvollziehen des Erzeugens der Dateien hier ein etwas abgewandelter Weg (aber so ungefähr soll es ablaufen):

import -window root image.png

convert image.png -crop 20x20+400+400 button.png

convert button.png +repage button.png

png2pat button.png > button.pat

In "button.pat steht dann leider: "Failed to load button.png"

Viele Grüße, Thomas

theinlein

Anmeldungsdatum:
29. Dezember 2007

Beiträge: 1279

Hat das png2pat auf deinem Rechner schon einmal irgendwie funktioniert? Vielleicht ist das Ding einfach eine buggy Version oder eine defekte Installation?

Kannst du das png mit dem Browser anschauen und du siehst das Bild des Buttons?

Mehr fällt mir da auch nicht ein.

TPf

(Themenstarter)

Anmeldungsdatum:
22. August 2010

Beiträge: 10

Mein png2pat hat die Version 1.03. Ich habe es auf einem anderen Rechner auch schon mit 1.02 versucht: Es will einfach nicht.
Die Bilder kann ich im Browser ansehen (auch mit Nautilus in der Vorschau und mit Doppelklick im Bildbetrachter).
Klappt es bei Dir? Was passiert, wenn Du die von mir genannten Befehle eingibst? Ich vermute, es liegt am PNG-Format. png2pat fordert nämlich ein "RGB oder RGBA PNG".

TPf

(Themenstarter)

Anmeldungsdatum:
22. August 2010

Beiträge: 10

Hallo,

es lag wirklich am PNG-Format. Ich habe ein bischen bei ImageMagick nachgelesen und meinen Code jetzt folgendermaßen umgestellt:

import -window root -define png:color-type=2 -depth 8 image.png
convert image.png -crop 20x20+400+400 -define png:color-type=2 -depth 8 +repage button.png
png2pat button.png > button.pat

Durch die Option "-define png:color-type=2 -depth 8" wird das richtige Format erzeugt, das png2pat und visgrep brauchen. Der folgende Aufruf bringt jetzt das ersehnte Ergebnis:

visgrep image.png button.pat button.pat

Viele Grüße, Thomas

theinlein

Anmeldungsdatum:
29. Dezember 2007

Beiträge: 1279

Gut gemacht!

Danke, hab ja jetzt auch was gelernt!

Es muss wahrscheinlich an dem depth=8 liegen - oder?

PNGs sind ja entweder RGB oder RGBa - das a steht für Alpha-Kanal und meint die Transparenz. Wenn das 'A' fehlt, dann ist es eine Datei, die keine halbtransparenten Pixel kann.

Antworten |