Seite 1 von 1
Bildgröße anpassen [gelöst]
Verfasst: Sa, 09.10.2010 10:28
von clag
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
Re: Bildgröße anpassen
Verfasst: Sa, 09.10.2010 11:25
von turtle47
Hi Clag,
clag hat geschrieben:Muss ich eventuell erst die Werte auslesen und separat berechnen und dann die neu berechneten Werte einsetzen ?
So ist es.
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
Viel Erfolg.
Jürgen
Re: Bildgröße anpassen
Verfasst: Sa, 09.10.2010 11:38
von clag
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 ?
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 ?