.NET – POO – C# .NET
• Objetivo
• Visão Geral
• Desenhando Figuras
• Trabalhando com Imagens
• Escrevendo Texto
• Conclusão
Capacitar o aluno no uso dos principais recursos de desenho
de gráficos GDI+ oferecidos pela plataforma .NET.
Você pode usar esta API para criar interfaces com usuário
avançadas em suas aplicações, gerar gráficos e relatórios,
e editar ou criar imagens;
O .NET Framework inclui ferramentas que permitem
desenhar linhas, formas, padrões e texto;
O namespace System.Drawing é utilizado para criar
gráficos e imagens.
Com o namespace System.Drawing você pode fazer,
basicamente, as seguintes ações:
▪ Adicionar circulos, linhas, e outras formas para o a interface com
usuário dinamicamente;
▪ Criar gráficos;
▪ Editar e mudar o tamanho de figuras;
▪ Mudar as taxas de compressão de figuras para salvar no disco;
▪ Recortar ou dar zoom em figuras;
▪ Adicionar informações de copyright ou texto em figuras.
▪ Classe Pen (Caneta)
▪ Permite ao desenvolvedor desenhar as linhas (vértices)
de um objeto especificando como sua cor e espessura:
Graphics g = this.CreateGraphics();
Pen p = new Pen(Color.Red, 7);
p.DashStyle = DashStyle.Dot;
g.DrawLine(p, 50, 25, 400, 25);
▪ Classe Brush (Pincel)
▪ permite ao desenvolvedor preencher o interior de um
objeto como sua cor:
Graphics g = this.CreateGraphics();
Pen p = new Pen(Color.MediumPurple, 2);
Brush b = new SolidBrush(Color.Maroon);
Point[] points = new Point[] { new Point(10,10), new Point(10, 100),
new Point(50, 65), new Point(100, 100), new Point(85, 40) };
g.DrawPolygon(p, points);
g.FillPolygon(b, points);
▪ Utilizando as classe Point e Color:
▪ Como especificar a localização de um controle?
button1.Location = new Point(10,10);
▪ Como especificar as cores de um controle?
button1.ForeColor = Color.Red;button2.BackColor = Color.Blue;
ou
button1.ForeColor = Color.FromArgb(10, 200, 200);button2.BackColor = Color.FromArgb(200, 5, 5);
▪ Como desenhar linhas?
Graphics g = this.CreateGraphics();
Pen p = new Pen(Color.Red, 7);
g.DrawLine(p, 1, 1, 100, 100);
▪ Como desenhar no formato de torta?
Graphics g = this.CreateGraphics();
Pen p = new Pen(Color.Blue, 3);
g.DrawPie(p, 1, 1, 100, 100, -30, 60);
▪ Como desenhar polígonos?
Graphics g = this.CreateGraphics();
Pen p = new Pen(Color.MediumPurple, 2);
Point[] points = new Point[]
{ new Point(10,10), new Point(10, 100), new Point(50, 65),
new Point(100, 100), new Point(85, 40) };
g.DrawPolygon(p, points);
▪ A maioria dos desenvolvedores precisa de exibir, criar e
modificar imagens;
▪ O .NET Framework provê ferramentas com uma variedade de
formatos de imagem, habilitando você a realizar atividades
comum de edição de imagem.
▪ Como carregar uma imagem existente utilizando Windows
Forms?
Image imagem = Image.FromFile(@”C:\tem\imagem01.bmp”);
PictureBox1.BackgroundImage = imagem;
▪ Como exibir uma imagem existente utilizando API de GDI?
Bitmap bm = new Bitmap(@"c:\temp\imagem02.jpg");
Graphics g = this.CreateGraphics();
g.DrawImage(bm, 1, 1, this.Width, this.Height);
▪ Como criar e salvar imagens?
Bitmap bm = new Bitmap(600, 600);
Graphics g = Graphics.FromImage(bm);
Brush b = new LinearGradientBrush(new Point(1,1), new Point(600,
600), Color.White, Color.Red);
Point[] points = new Point[] { new Point(10, 10),new Point(77, 500),new
Point(590, 100),new Point(250, 590),new Point(300, 410) };
g.FillPolygon(b, points);
//salva a imagem gerada
bm.Save("bm.jpg", ImageFormat.Jpeg);
▪ Como criar um fonte?
FontFamily ff = new FontFamily("Arial");
Font f = new Font(ff, 12);
▪ Como escrever texto?
Graphics g = this.CreteGraphics();
Font f = new Font(“Arial”, 40, FontStyle.Bold);
g.DrawString(“Hello, World!”, f, Brushes.Blue, 10, 10);
▪ Para desenhar gráficos, crie dois objetos: um do tipo Pen e outro
do tipo Graphics.
▪ Use o objeto Pen para colorir e definir a largura do desenho.
▪ O objeto Graphics expõe métodos para desenhar linhas e formas.
▪ Para preencher as formas, use o objeto Brush com o objeto
Graphics;
▪ Para trabalhar com imagens, use as classes Image e Bitmap;
▪ Para adicionar texto a uma imagem ou gráfico, crie os objetos Pen
e Brush. Em seguida, use o método Graphics.DrawString.
▪ Para formatar o texto, use a classe StringFormat.
.NET – POO – C# .NET