16
.NET – POO – C# .NET

NET - POO - C# .NET - Aula 08 - GDI+

Embed Size (px)

DESCRIPTION

Nesta apresentação você terá oportunidade de conhecer os recursos de criação de desenhos com GDI+.

Citation preview

Page 1: NET - POO - C# .NET - Aula 08 - GDI+

.NET – POO – C# .NET

Page 2: NET - POO - C# .NET - Aula 08 - GDI+

• Objetivo

• Visão Geral 

• Desenhando Figuras

• Trabalhando com Imagens

• Escrevendo Texto

• Conclusão

Page 3: NET - POO - C# .NET - Aula 08 - GDI+

Capacitar o aluno no uso dos principais recursos de desenho

de gráficos GDI+ oferecidos pela plataforma .NET.

Page 4: NET - POO - C# .NET - Aula 08 - GDI+

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.

Page 5: NET - POO - C# .NET - Aula 08 - GDI+

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.

Page 6: NET - POO - C# .NET - Aula 08 - GDI+

▪ 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);

Page 7: NET - POO - C# .NET - Aula 08 - GDI+

▪ 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);

Page 8: NET - POO - C# .NET - Aula 08 - GDI+

▪ 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);

Page 9: NET - POO - C# .NET - Aula 08 - GDI+

▪ 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);

Page 10: NET - POO - C# .NET - Aula 08 - GDI+

▪ 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);

Page 11: NET - POO - C# .NET - Aula 08 - GDI+

▪ 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.

Page 12: NET - POO - C# .NET - Aula 08 - GDI+

▪ 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);

Page 13: NET - POO - C# .NET - Aula 08 - GDI+

▪ 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);

Page 14: NET - POO - C# .NET - Aula 08 - GDI+

▪ 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);

Page 15: NET - POO - C# .NET - Aula 08 - GDI+

▪ 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.

Page 16: NET - POO - C# .NET - Aula 08 - GDI+

.NET – POO – C# .NET