Seite 1 von 1

get image offset

Verfasst: Di 8. Dez 2015, 10:50
von tribo
Hallo zusammen,
ich benötige in einem python-script den image-offset (in x-Richtung). Wenn ich versuche darauf mit xoffset = getProperty(img, "imageXOffset") zuzugreifen erhalte ich einen Wert, welcher jedoch nicht mit dem wahren Wert übereinstimmt. So erhalte ich bei einem Offset von -20 mm einen Wert von -670.3455 was ich nicht so ganz verstehe, bzw. auch mit keiner Einheit in Einklang bringen kann.
Wie erhalte ich also den korrekten xOffset in mm? Gibt es dafür einen besseren Befehl?
Vielen Dank für eure Hilfe und viele Grüße!

Re: get image offset

Verfasst: Di 8. Dez 2015, 21:44
von Julius
Hallo tribo,

die x-Position (meinst du das mit x-Offset?) ermittelst du folgendermaßen:

Code: Alles auswählen

#!/usr/bin/env Python
# -*- coding: utf-8 -*-
import scribus
# Postion ermitteln (wenn kein Objekt gegeben, wird aktuell ausgewähltes Objekt genommen)
x,y = scribus.getPosition("Objektname")
# Maßeinheit ermitteln:
unit = scribus.getUnit()
# Werte anzeigen:
scribus.messageBox("Maßeinheit & x-Position", 'x-Position: '+str(x)+'\nMaßeinheit: '+str(unit))
Das Script erzeugt folgende Ausgabe:
script-x-position.png
Die Maßeinheit ist ein integer-Wert, 0 steht für Punkt und 1 für Millimeter, 2 ist Zoll, 3 Picas, 4 Zentimeter ist und 5 Cicero; der Wert im Beispiel ist also in Millimeter angegeben.

Gruß
Julius

Re: get image offset

Verfasst: Mi 9. Dez 2015, 10:51
von tribo
Hey, vielen Dank schon mal für deine Antwort!
Mit x-Offset meine ich die x-Position des Bildes im Rahmen, scribus.getPosition() gibt aber die Position des Rahmens an

Re: get image offset

Verfasst: Di 9. Feb 2016, 21:55
von Julius
Dein letzter Post ist zwar schon etwas her, aber vielleicht liest du das ja noch: Kannst du dein Script hier reinstellen?
Ich habe folgendes ausprobiert (Script und das Beispieldokument hänge ich an) und eine Fehlermeldung bekommen, dass getProperty nicht existieren würde.

Code: Alles auswählen

#!/usr/bin/env Python
# -*- coding: utf-8 -*-
import scribus
xoffset = getProperty("img", "imageXOffset")
scribus.messageBox("Maßeinheit & x-Position", 'x-Offset'+str(xoffset))
Allgemein scheint dieses „Scripter Extension API“ schlecht dokumentiert zu sein...

Gruß
Julius

Re: get image offset

Verfasst: Mi 10. Feb 2016, 09:28
von a.l.e

Code: Alles auswählen

scribus.getProperty(...)
:-)

Re: get image offset

Verfasst: Mi 10. Feb 2016, 14:30
von Julius
Danke, a.l.e., für das Finden des Fehlers! :oops:

Wenn ich das Script korrigiere und ausführe, bietet sich mir folgendes Bild:
xoffset.png
18,04 (Scriptausgabe) ≈ 20pt (Lineal und Einstellung in der Eigenschaften-Palette)
→ scheint ungefähr zu passen, aber wieso nicht exakt 20(pt)?

Wo kommt die Eigenschaft imageXOffset überhaupt her (irgendwo muss ja dokumentiert sein, dass man die auslesen kann)? In der über F1 erreichbaren Doku steht jedenfalls nichts davon (oder ich habe es nicht gesehen?!?)...

Code: Alles auswählen

#!/usr/bin/env Python
# -*- coding: utf-8 -*-
import scribus
xoffset = scribus.getProperty("img", "imageXOffset")
scribus.messageBox("x-Offset", '<b>x-Offset:</b> '+str(xoffset))
Gruß
Julius

Re: get image offset

Verfasst: Mi 10. Feb 2016, 14:56
von a.l.e
image offset ist im "Bild" reiter der eigenschaftspalette...

sollte auch dokumentiert sein...
"working with image" ... "x-pos"...

Re: get image offset

Verfasst: Mo 22. Feb 2016, 11:58
von Julius
a.l.e hat geschrieben:image offset ist im "Bild" reiter der eigenschaftspalette...
Das ist mir klar, aber wo steht, dass sich, wenn ich den x-Offset des Bildes haben möchte, imageXOffset mittels getProperty abfragen muss? Kannst du das vielleicht verlinken?

Danke.
Julius

Re: get image offset

Verfasst: Mo 22. Feb 2016, 14:12
von a.l.e
kann sein, dass es undokumentiert ist...

Re: get image offset

Verfasst: Do 31. Mär 2016, 22:46
von Jaccumo
Eventuell hilft dies weiter

DOCUMENT.PAGEOBJECT
LOCALX X-Position of the image in the image frame
LOCALY Y-Position of the image in the image frame

habe ich beim durchsuchen der Scribus Hilfe gefunden.
Kann aber leider damit nichts anfangen, da mir die Syntax dazu fehlt.
Geht mir bei einem anderen Projekt ähnlich.

MfG Jaccumo