Sun Microsystems
Termékek
 
Támogatás
 
 

Előző Előző     Tartalom     Tárgymutató     Következő Következő

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)

Előző Előző     Tartalom     Tárgymutató     Következő Következő