Hallo Kenner und Könner,
wie stelle ich per Makro die resultierende Höhe bzw Breite einer Grafik ein ?
Ich meine hiermit das automatisch anpassen des zweiten Wertes, wenn man manuell eine Größe der Grafik verändert und der Haken für Seitenverhältnis beibehalten gesetzt ist ?
Wie erreiche ich das per Makro ?
Xray sagt mir nur die absoluten Werte.
Muss ich eventuell erst die Werte auslesen und separat berechnen und dann die neu berechneten Werte einsetzen ?
und wie immer schon mal Danke für das lesen
Bildgröße anpassen [gelöst]
Moderator: Moderatoren
Bildgröße anpassen [gelöst]
Zuletzt geändert von clag am Do, 14.10.2010 07:43, insgesamt 1-mal geändert.
LG
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Re: Bildgröße anpassen
Hi Clag,
Hier mal ein Beispiel aus meiner Grabbelkiste:
Viel Erfolg.
Jürgen
So ist es.clag hat geschrieben:Muss ich eventuell erst die Werte auslesen und separat berechnen und dann die neu berechneten Werte einsetzen ?
Hier mal ein Beispiel aus meiner Grabbelkiste:
Code: Alles auswählen
Sub X_Factor
Dim size As New com.sun.star.awt.Size
oDocument = thisComponent
page = oDocument.drawPage
nNumShapes = Page.getCount()
k = 0
For i = 0 To nNumShapes - 1
oShape = Page.getByIndex( i )
oImage = oShape.FrameStyleName
if oImage = "Graphics" then
CurWidth = oshape.Size.Width
CurHeight = oshape.Size.Height
Factor = 0.5
NewWidth = CurWidth * Factor
NewHeight= CurHeight * Factor
size.Width = NewWidth
size.Height = NewHeight
oshape.setSize(size)
k = k + 1
end if
next i
msgbox "Es wurde(n) " & k & " Bild(er) angepasst." , 64, "Bildgrösse anpassen"
End Sub
Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Re: Bildgröße anpassen
Hi Turtle47,
erst einmal allerbesten Dank für deine Antwort....
ich hatte schon befürchtet du seist verschollen oder hattest du "Internetverbot"
war so wenig zu lesen von dir ?
nach dem ich ja befürchtet habe das es so kommt, hatte ich mich schon mal ans Werk gemacht und das Ergebnis sieht deinem Vorschlag schon recht ähnlich und funktioniert sogar
aber ich bin mir gar nicht sicher ob ich das mit "with" und die Formel korrekt gemacht habe, ist das sauber was ich da erdacht/verzapft habe ?
PS
kannst du mir sagen wo man die möglichen Parameterwerte für eine Option erfahren kann also hier zB AnchorType ?
erst einmal allerbesten Dank für deine Antwort....
ich hatte schon befürchtet du seist verschollen oder hattest du "Internetverbot"

nach dem ich ja befürchtet habe das es so kommt, hatte ich mich schon mal ans Werk gemacht und das Ergebnis sieht deinem Vorschlag schon recht ähnlich und funktioniert sogar

aber ich bin mir gar nicht sicher ob ich das mit "with" und die Formel korrekt gemacht habe, ist das sauber was ich da erdacht/verzapft habe ?
Code: Alles auswählen
this_image = oDocGraphics.GetbyIndex(ix)
Dim oldHeight, oldWidth, newHight, newWidth as integer
With this_image
oldHeight = .Height
oldWidth = .Width
End With
newHeight = 3000
newWidth = oldWidth/(oldHeight/newHeight)
With this_image
.AnchorType = 0 ' am Absatz
.Height = NewHeight
.Width = NewWidth
.HoriOrient = 3
.RightMargin = 500
.Surround = 3
.TextWrap = 3
End With
PS
kannst du mir sagen wo man die möglichen Parameterwerte für eine Option erfahren kann also hier zB AnchorType ?
LG
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox