Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Världsomvandlingen är en egenskap för klassen Graphics. Talen som anger världsomvandlingen lagras i ett Matrix objekt, som representerar en 3×3-matris. Klasserna Matrix och Graphics har flera metoder för att ange talen i världsomvandlingsmatrisen.
Olika typer av transformeringar
I följande exempel skapar koden först en rektangel på 50×50 och letar upp den vid ursprunget (0, 0). Ursprunget finns i det övre vänstra hörnet i klientområdet.
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)
Följande kod tillämpar en skalningstransformering som expanderar rektangeln med en faktor 1,75 i x-riktningen och krymper rektangeln med en faktor 0,5 i y-riktningen:
e.Graphics.ScaleTransform(1.75f, 0.5f);
e.Graphics.DrawRectangle(pen, rect);
e.Graphics.ScaleTransform(1.75F, 0.5F)
e.Graphics.DrawRectangle(pen, rect)
Resultatet är en rektangel som är längre i x-riktningen och kortare i y-riktningen än originalet.
Om du vill rotera rektangeln i stället för att skala den använder du följande kod:
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)
Om du vill översätta rektangeln använder du följande kod:
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)
Se även
.NET Desktop feedback