Színátmenet
Ha a FillStyle tulajdonságot a GRADIENT értékre állítjuk a StarOffice-dokumentum kitöltési területén színátmenetet alkalmazhatunk.
Ha egy előre definiált színátmenetet akarunk alkalmazni, akkor használjuk a FillTransparenceGradientName tulajdonság megfelelő nevét. Ha saját színátmenetet akarunk használni, töltsük ki a com.sun.star.awt.Gradient struktúrát, és rendeljük hozzá a FillGradient tulajdonsághoz. Ez a tulajdonság a következő lehetőségeket biztosítja:
Style (enumeráció) - a színátmenet típusa, például egyenletes vagy sugárirányú, (alapértelmezett értékek a com.sun.star.awt.GradientStyle tulajdonságnak megfelelően).
StartColor (hosszú egész) - a színátmenet kezdőszíne.
EndColor (hosszú egész) - a színátmenet befejezőszíne.
Angle (rövid egész) - színátmenet szöge tizedfokban.
XOffset (rövid egész) - a színátmenet kezdésének X koordinátája századmilliméterben megadva.
XOffset (rövid egész) - a színátmenet kezdésének Y koordinátája századmilliméterben megadva.
StartIntensity (rövid egész) - a StartColor intenzitása százalékban (a StarOffice Basic programban 100-nál nagyobb érték is megadható).
EndIntensity (rövid egész) - az EndColor intenzitása százalékban (a StarOffice Basic programban 100-nál nagyobb érték is megadható).
StepCount (rövid egész) - színátmenet színeinek száma, amelyekre a StarOffice kiszámítja színátmenetet.
A következő példa bemutatja a színátmenetek használatát a com.sun.star.awt.Gradient struktúra használatával:
Dim Doc As Object
Dim Page As Object
Dim RectangleShape As Object
Dim Point As New com.sun.star.awt.Point
Dim Size As New com.sun.star.awt.Size
Dim Gradient As New com.sun.star.awt.Gradient
Point.x = 1000
Point.y = 1000
Size.Width = 10000
Size.Height = 10000
Doc = StarDesktop.CurrentComponent
Page = Doc.drawPages(0)
RectangleShape = Doc.createInstance("com.sun.star.drawing.RectangleShape")
RectangleShape.Size = Size
RectangleShape.Position = Point
Gradient.Style = com.sun.star.awt.GradientStyle.LINEAR
Gradient.StartColor = RGB(255,0,0)
Gradient.EndColor = RGB(0,255,0)
Gradient.StartIntensity = 150
Gradient.EndIntensity = 150
Gradient.Angle = 450
Gradient.StepCount = 100
RectangleShape.FillStyle = com.sun.star.drawing.FillStyle.GRADIENT
RectangleShape.FillGradient = Gradient
Page.add(RectangleShape)
|
Ez a példa egy egyenletes színátmenetet hoz létre (Style = LINEAR). Az átmenet pirossal kezdődik (StartColor) a bal felső sarokban, és egy 45 fokos (Angle) átmenetben zöld lesz (EndColor) a jobb alsó sarokban. A kezdő és befejező szín intenzitása 150 százalék (StartIntensity és EndIntensity), ami azt eredményezi, hogy a színek fényesebbnek látszanak a StartColor és a EndColor tulajdonságban megadottaknál. A színátmenet száz különböző színnel jelenik meg (StepCount).
Vonalkázás
Ha vonalkázott kitöltést akarunk használni, állítsuk a FillStyle tulajdonságot HATCH értékre. A vonalkázást meghatározó programrészlet nagyon hasonló a színátmenetet meghatározóhoz. Ismét egy külső struktúrát, ebben az esetben a com.sun.star.drawing.Hatch, használunk a vonalkázás meghatározásához. A vonalkázás struktúrája a következő tulajdonságokkal rendelkezik:
Style (enumeráció) - a vonalkázás típusa: egyszerű, négyszögletes vagy négyszögletes átlós vonalakkal (alapértelmezett értékek a com.sun.star.awt.HatchStyle tulajdonság szerint).
Color (hosszú egész) - vonalak színe.
Distance (hosszú egész) - a vonalak közti távolság századmilliméterben.
Angle (rövid egész) - vonalkázás szöge tizedfokban.
A következő példa bemutatja a vonalkázás struktúrájának használatát:
Dim Doc As Object
Dim Page As Object
Dim RectangleShape As Object
Dim Point As New com.sun.star.awt.Point
Dim Size As New com.sun.star.awt.Size
Dim Hatch As New com.sun.star.drawing.Hatch
Point.x = 1000
Point.y = 1000
Size.Width = 10000
Size.Height = 10000
Doc = StarDesktop.CurrentComponent
Page = Doc.drawPages(0)
RectangleShape = Doc.createInstance("com.sun.star.drawing.RectangleShape")
RectangleShape.Size = Size
RectangleShape.Position = Point
RectangleShape.FillStyle = com.sun.star.drawing.FillStyle.HATCH
Hatch.Style = com.sun.star.drawing.HatchStyle.SINGLE
Hatch.Color = RGB(64,64,64)
Hatch.Distance = 20
Hatch.Angle = 450
RectangleShape.FillHatch = Hatch
Page.add(RectangleShape)
|
|