Írjunk programot, amely a megadott szöveget 30 fokonként forgatja.
A feladat megoldása
private Rectangle textR = new Rectangle(30, 0, 150, 20);
String s;
private void Megjelenit_Click(object sender, EventArgs e)
{
Graphics g = this.CreateGraphics();
StringFormat oStringFormat = new StringFormat();
oStringFormat.Alignment = StringAlignment.Center;
Font font = new Font("Arial", 12,
FontStyle.Bold | FontStyle.Italic);
SolidBrush br = new SolidBrush(Color.AliceBlue);
SolidBrush br2 = new SolidBrush (Color.Blue);
s = textBox1.Text;
// A koordináta-rendszert az ablak közepébe mozgatjuk
g.TranslateTransform(this.ClientSize.Width / 2,
this.ClientSize.Height / 2);
// 12-szer megjelenítjük a szöveget, 30 fokonként
// elforgatva, és 1.02-szörösre növelve a méretét
for (int a = 0; a < 12; a++)
{
g.FillRectangle(br, textR);
g.DrawString(s, font, br2, textR, oStringFormat);
g.RotateTransform(30);
g.ScaleTransform(1.02f, 1.02f);
}
// A transzformációk törlése
g.ResetTransform();
br.Dispose();
br2.Dispose();
}
private void Töröl_Click(object sender, EventArgs e)
{
Refresh();
textBox1.Text = "Balaton";
}
A program futási eredményei: