Portál AbcLinuxu, 6. května 2025 14:06

Dotaz: orientace/natoceni trojuhelniku v pythonu (screenlets.drawing)

9.2.2010 07:54 Radim
orientace/natoceni trojuhelniku v pythonu (screenlets.drawing)
Přečteno: 184×
Odpovědět | Admin
Zdravim, zajimalo by me, jestli je mozne pri/po nakresleni trojuhelniku metodou draw_triangle() (nebo jakehokoliv jineho objektu) zmenit jeho orientaci. Proste aby nemusela byt zakladna vodorovna, ale treba svisla (=rotace o 90 stupnu). Samotna metoda draw_triabgle to neumoznuje, pokud jsem se dobre dival. Narazil jsem na metodu transform v modulu cairo, ale nepodarilo se mi zjistit o ni nic dalsiho. Alternativne, je mozne si pomoci car nadefinovat nejaky uzavreny tvar, ktery je pak mozno vyplnit barvou? (v tom pripade prosim o jednoduchy priklad). Diky Radim

Řešení dotazu:


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Řešení 1× (Radim (tazatel))
9.2.2010 11:03 l4m4
Rozbalit Rozbalit vše Re: orientace/natoceni trojuhelniku v pythonu (screenlets.drawing)
Odpovědět | | Sbalit | Link | Blokovat | Admin
Neznám screenlets, ale pokud používáš ke kreslení Cairo, tak ano a ano.

Jakékoli transformace jsou metody Contextu, takže uděláš cr.rotate()

http://www.cairographics.org/documentation/pycairo/reference/context.html#cairo.Context.rotate

a od té chvíle kreslíš pootočeně. Není nutno používat rovnou nejobecnější metodu transform, když chceš akorát rotaci...

Vyplnění uděláš úplně stejně jako nakreslení obrysu, jen na cestu namísto stroke() použiješ fill(). Chceš-li nakreslit obrys i vyplnit, musíš pro první operace použít stroke_preserve()/fill_preserve(), aby se současná cesta po použití nezahodila.

Projdi si toto:

http://www.cairographics.org/samples/

(příklady jsou v C, ale jelikož jsou to sekvence volání metod, tak je přepis do čehokoli triviální).
10.2.2010 01:09 Radim
Rozbalit Rozbalit vše Re: orientace/natoceni trojuhelniku v pythonu (screenlets.drawing)
Diky, mrknu na to. R

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.