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?!
Aspect Ratio bei Grafiken in Writer
Moderator: Moderatoren
-
- Beiträge: 1
- Registriert: Sa, 26.08.2006 17:33
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
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
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic