Použití světové transformace
Transformace světa je vlastnost třídy Graphics. Čísla, která určují světovou transformaci, jsou uložena v objektu Matrix, který představuje 3×3 matici. Třídy Matrix a Graphics mají několik metod pro nastavení čísel v matici světové transformace.
Různé typy transformací
V následujícím příkladu kód nejprve vytvoří obdélník 50×50 a vyhledá ho na počátku (0, 0). Původ je v levém horním rohu klientské oblasti.
Rectangle rect = new Rectangle(0, 0, 50, 50);
Pen pen = new Pen(Color.FromArgb(128, 200, 0, 200), 2);
e.Graphics.DrawRectangle(pen, rect);
Dim rect As New Rectangle(0, 0, 50, 50)
Dim pen As New Pen(Color.FromArgb(128, 200, 0, 200), 2)
e.Graphics.DrawRectangle(pen, rect)
Následující kód použije transformaci měřítka, která rozšíří obdélník o faktor 1,75 ve směru x a zmenší obdélník faktorem 0,5 ve směru y:
e.Graphics.ScaleTransform(1.75f, 0.5f);
e.Graphics.DrawRectangle(pen, rect);
e.Graphics.ScaleTransform(1.75F, 0.5F)
e.Graphics.DrawRectangle(pen, rect)
Výsledkem je obdélník, který je delší ve směru x a kratší ve směru y než původní.
Pokud chcete obdélník otočit místo škálování, použijte následující kód:
e.Graphics.ResetTransform();
e.Graphics.RotateTransform(28); // 28 degrees
e.Graphics.DrawRectangle(pen, rect);
e.Graphics.ResetTransform()
e.Graphics.RotateTransform(28) ' 28 degrees
e.Graphics.DrawRectangle(pen, rect)
K překladu obdélníku použijte následující kód:
e.Graphics.ResetTransform();
e.Graphics.TranslateTransform(150, 150);
e.Graphics.DrawRectangle(pen, rect);
e.Graphics.ResetTransform()
e.Graphics.TranslateTransform(150, 150)
e.Graphics.DrawRectangle(pen, rect)
Viz také
.NET Desktop feedback