Aspect Ratio bei Grafiken in Writer

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Schabernack2
Beiträge: 1
Registriert: Sa, 26.08.2006 17:33

Aspect Ratio bei Grafiken in Writer

Beitrag von Schabernack2 »

Ich habe das Problem, das ich eingefügte Grafiken im Writer nur verzerrt darstellen kann!

Wenn ich z.B. eine Grafik mittels Einfügen-Grafik-Aus Datei in eine Writer TextTabelle einfüge, wird sie Automatisch so skaliert, das die Grafik rein passt.
Wenn ich das aber mit folgendem Macro Code Tue, dann erscheint die Grafik verzerrt, und die Tabellen Höhe wird völlig falsch vergrößert.

oImage = Doc.createInstance( "com.sun.star.text.GraphicObject" )
oImage.GraphicURL = ConvertToURL (sDir & sFile)
oImage.AnchorType = com.sun.star.text.TextContentAnchorType.AT_PARAGRAPH
oImage.HoriOrientPosition = 3500
oImage.VertOrientPosition = 4200
oImage.Width = 3000
oImage.Height = 3000
oText = Cell.getText()
oCursor = oText.createTextCursor()
oText.insertTextContent( oCursor, oImage, true )

Optimal wäre eine Skalierung der Grafik in folgender Weise:

Grafik Größe = 3000 x 2000 Pixel (B x H)

oImage.width = 3000 ( = 3 cm)
oImage.Heigth = x ( 2000 Pixel * Faktor)


Ich kann niegends finden wie ich das anstellen soll?!
Toxitom
********
Beiträge: 3769
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Toxitom »

Hey Schabernak2,

verstehe dein Problem nicht. Deine Grafik ist 3000*2000 Pixel (B*H) gross? Dann gib dem Grafikobjekt doch die gleichen Größenverhältnisse,
also
oImage.Width = 3000 'Breite
oImage.Height = 2000 'Höhe
jetzt wird die Grafik nicht verzerrt.
Nun verstehe ich auch deine Formel nicht (x*2000*Faktor) - wozu?
Das Seitenverhältnis muss gleichbleiben, damit eine Grafik nicht verzerrt wird, das Seitenverhältnis ist B/H - das Muss immer gleich sein. Also könntest du schreiben:
oImage.Width = x * Breite
oImage.Height =x * Höhe
wobei Breite und Höhe die Pixelzahl darstellt und x ein beliebiger Faktor - also z,B. 0,1 - 5 - oder was auch immer.

Verstehe ich da irgendetwas falsch?

Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Antworten