A különböző rajzobjektumok áttekintése
Négyszögalakzat
A négyszögalakzat-objektumok (com.sun.star.drawing.RectangleShape) a következő objektumokat támogatják a formázáshoz:
Kitöltési tulajdonságok - com.sun.star.drawing.FillProperties
Vonaltulajdonságok - com.sun.star.drawing.LineProperties
Szövegtulajdonságok - com.sun.star.drawing.Text (a com.sun.star.style.CharacterProperties és a com.sun.star.style.ParagraphProperties szolgáltatással)
Árnyéktulajdonságok - com.sun.star.drawing.ShadowProperties
CornerRadius (hosszú egész) - a sarkok kerekítési sugara századmilliméterben.
Körök és ellipszisek
A com.sun.star.drawing.EllipseShape szolgáltatással lehet köröket és ellipsziseket létrehozni. A szolgáltatás a következőket támogatja:
Kitöltési tulajdonságok - com.sun.star.drawing.FillProperties
Vonaltulajdonságok - com.sun.star.drawing.LineProperties
Szövegtulajdonságok - com.sun.star.drawing.Text (a com.sun.star.style.CharacterProperties és a com.sun.star.style.ParagraphProperties szolgáltatással)
Árnyéktulajdonságok - com.sun.star.drawing.ShadowProperties
Ezeken a szolgáltatásokon felül a körök és ellipszisek is támogatják ezeket a tulajdonságokat:
CircleKind (enumeráció) - a kör vagy ellipszis típusa (alapértelmezett értékek a com.sun.star.drawing.CircleKind tulajdonságnak megfelelően)
CircleStartAngle (hosszú egész) - kezdőszög tizedfokban (csak kör- vagy ellipszisszeleteknél)
CircleEndAngle (hosszú egész) - befejezőszög tizedfokban (csak kör- vagy ellipszisszeleteknél)
A CircleKind tulajdonság meghatározza, hogy egy objektum teljes kör, körszelet vagy körcikk. A következő értékek használhatók:
com.sun.star.drawing.CircleKind.FULL - teljes kör vagy ellipszis.
com.sun.star.drawing.CircleKind.CUT - körszelet (a kör egy része, amelynek határolófelületei közvetlenül érintkeznek).
com.sun.star.drawing.CircleKind.SECTION - körcikk.
com.sun.star.drawing.CircleKind.ARC - szög (körvonal nélkül).
A következő példa létrehoz egy 70 fokos körcikket (amely a 20 fokos kezdéstől a 90 fokos befejezésig tart).
Dim Doc As Object
Dim Page As Object
Dim EllipseShape As Object
Dim Point As New com.sun.star.awt.Point
Dim Size As New com.sun.star.awt.Size
Point.x = 1000
Point.y = 1000
Size.Width = 10000
Size.Height = 10000
Doc = StarDesktop.CurrentComponent
Page = Doc.drawPages(0)
EllipseShape = Doc.createInstance("com.sun.star.drawing.EllipseShape")
EllipseShape.Size = Size
EllipseShape.Position = Point
EllipseShape.CircleStartAngle = 2000
EllipseShape.CircleEndAngle = 9000
EllipseShape.CircleKind = com.sun.star.drawing.CircleKind.SECTION
Page.add(EllipseShape)
|
|