Draw Modify Transparency
The ooodev.format.draw.modify.transparency.Transparency
, class is used to modify the values seen in Fig. 907 of a style.
Fig. 907 Draw dialog Transparency default
Setting the Transparency
from __future__ import annotations
import uno
from ooodev.draw import Draw, DrawDoc, ZoomKind
from ooodev.format.draw.modify import FamilyGraphics, DrawStyleFamilyKind
from ooodev.format.draw.modify.transparency import Transparency, Intensity
from ooodev.loader.lo import Lo
def main() -> int:
with Lo.Loader(connector=Lo.ConnectSocket()):
doc = DrawDoc(Draw.create_draw_doc())
doc.set_visible()
Lo.delay(700)
doc.zoom(ZoomKind.ZOOM_75_PERCENT)
slide = doc.get_slide()
width = 100
height = 50
x = 10
y = 10
rect = slide.draw_rectangle(x=x, y=y, width=width, height=height)
rect.set_string("Hello World!")
style = Transparency(
value=Intensity(88),
style_name=FamilyGraphics.DEFAULT_DRAWING_STYLE,
style_family=DrawStyleFamilyKind.GRAPHICS,
)
doc.apply_styles(style)
Lo.delay(1_000)
doc.close_doc()
return 0
if __name__ == "__main__":
raise SystemExit(main())
Running the above code will produce the following results in the Draw dialog.
Fig. 908 Draw dialog Transparency style changed
Shape after applying style.
Fig. 909 Shape after Style applied
Getting shadow from a style
# ... other code
f_style = Transparency.from_style(
doc=doc.component,
style_name=FamilyGraphics.DEFAULT_DRAWING_STYLE,
style_family=DrawStyleFamilyKind.GRAPHICS,
)
assert f_style.prop_inner.prop_value == Intensity(88)