![]() |
Ein Rechteck im Canvas drehen
Hallo,
wie kann ich in ein Canvas ein Rechteck zeichen? Dieses Rechteck soll komplett mit Farbe ausgefüllt sein und unter einen bestimmten Winkel drehbar sein. Zum Beispiel, wenn ich einen Winkel von 45° eingebe, dass soll das Rechteck auf einer Ecke stehen. MFG Christian18 |
Re: Ein Rechteck im Canvas drehen
Such mal nach SetWorldTransform.
|
Re: Ein Rechteck im Canvas drehen
Zum selbstschreiben, wäre eine Rotationsmatrix (siehe Wikipedia) ganz nützlich. Wie du das dann zeichnest, weiss ich nicht genau, aber die Canvas hat sicher so was wie ein drawPolygon, das höchstwahrscheinlich auch einen Parameter zum ausfüllen.
Delphi-Quellcode:
So im PseudoCode
Also grob: linksunten=(0,0), rechtsoben=(190,200), rechtsunten=(190,0), linksoben=(0,200) (redundanz wird benötigt!)
dann musst du das rechteck so verschieben, dass sein Mittelpunkt bei (0,0) ist: alleXKoordinaten -= 190/2 alleYKoordinaten -= 100 AllEKoordinaten * Rotationsmatrix(winkel) Wiederzurückschieben (x+=190/2, y += 100) canvas.drawPolygon(punkte,filled=True) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz