Clique para saber mais...
  Home     Download     Produtos / Cursos     Revista     Vídeo Aulas     Fórum     Contato   Clique aqui para logar | 11 de Julho de 2026
  Login

Codinome
Senha
Salvar informações

 Esqueci minha senha
 Novo Cadastro

  Usuários
266 Usuários Online

  Revista ActiveDelphi
 Assine Já!
 Edições
 Sobre a Revista

  Conteúdo
 Apostilas
 Artigos
 Componentes
 Dicas
 News
 Programas / Exemplos
 Vídeo Aulas

  Serviços
 Active News
 Fórum
 Produtos / Cursos

  Outros
 Colunistas
 Contato
 Top 10

  Publicidade

  [Artigos]  Usando o canvas
Publicado por Fer22.3 : Segunda, Junho 16, 2008 - 11:39 GMT-3 (1399 leituras)
Comentários 1 Comentário   Enviar esta notícia a um amigo Enviar para um amigo   Versão para Impressão Versão para impressão
Administrador Olá pessoal! Este é meu primeiro artigo aqui para o site e nele veremos como usar Canvas. Quando trabalhamos com Canvas, utilizamos coordenadas, logo, precisamos lembrar que:

  X = Horizontal;
 Y = Vertical

Veja agora os principais comandos possíveis com o Canvas. Vamos começar com uma linha:

  canvas.moveto(8, 8)  // Move para x: 8 e y: 8
  canvas.lineto(10, 8) // Faz a linha com 10 de x e 8 de y

Como alterar a cor de uma linha:

  canvas.pen.color := clred; // clRed é vermelho

Como fazer um circulo:

  canvas.Ellipse(8, 8, 50, 50);
  // O X1 é onde vai ficar na horizontal, o Y1 é onde vai ficar,
  // O X2 é o tamanho x do circulo, o Y2 é o tamanho y do circulo

Agora um retangulo:

  canvas.Rectangle(8, 8, 50, 50); // O Mesmo procedimento do circulo

Agora um pixel:

  canvas.pixel[8, 8] := clred; // o pixel (8,8) vai ficar vermelho

Para mudar a cor que fica dentro de um circulo ou retângulo:

  canvas.brush.color := clred;

Agora que já vimos os principais comandos, que tal fazer o icone do media-player? Basta copiar a procedure a seguir:

procedure MediaPlayerIconCanvas(DrawCanvas: TCanvas);
var
  PenColorAtual   : TColor;
  BrushColorAtual : TColor;
begin
  PenColorAtual := DrawCanvas.Pen.Color;
  BrushColorAtual := DrawCanvas.Brush.Color;
  // Vamos Desenhar
  DrawCanvas.Ellipse(2, 2, 31, 31);
  DrawCanvas.Brush.Color := clWhite;
  DrawCanvas.Ellipse(8, 8, 25, 25);
  DrawCanvas.Brush.Color := BrushColorAtual;
  DrawCanvas.MoveTo(14, 11);
  DrawCanvas.LineTo(14, 21);
  DrawCanvas.LineTo(19, 16);
  DrawCanvas.LineTo(14, 11);
  DrawCanvas.MoveTo(16, 2);
  DrawCanvas.LineTo(16, 9);
  DrawCanvas.MoveTo(2,  16);
  DrawCanvas.LineTo(9,  16);
  DrawCanvas.MoveTo(16, 24);
  DrawCanvas.LineTo(16, 30);
  DrawCanvas.MoveTo(24, 16);
  DrawCanvas.LineTo(30, 16);
  // Vamos Pintar de Preto !
  DrawCanvas.MoveTo(15, 12);
  DrawCanvas.LineTo(15, 20);
  DrawCanvas.MoveTo(16, 13);
  DrawCanvas.LineTo(16, 19);
  DrawCanvas.MoveTo(17, 14);
  DrawCanvas.LineTo(17, 18);
  DrawCanvas.Pixels[18, 16] := clWhite;
  // Vamos Pintar de Vermelho !
  DrawCanvas.Pen.Color := clRed;
  DrawCanvas.MoveTo(7, 15);
  DrawCanvas.LineTo(2, 15);
  DrawCanvas.MoveTo(3, 14);
  DrawCanvas.LineTo(8, 14);
  DrawCanvas.MoveTo(8, 13);
  DrawCanvas.LineTo(3, 13);
  DrawCanvas.MoveTo(4, 12);
  DrawCanvas.LineTo(9, 12);
  DrawCanvas.MoveTo(9, 11);
  DrawCanvas.LineTo(3, 11);
  DrawCanvas.MoveTo(10,10);
  DrawCanvas.LineTo(4, 10);
  DrawCanvas.MoveTo(11, 9);
  DrawCanvas.LineTo(4,  9);
  DrawCanvas.MoveTo(13, 8);
  DrawCanvas.LineTo(5,  8);
  DrawCanvas.MoveTo(15, 7);
  DrawCanvas.LineTo(6,  7);
  DrawCanvas.MoveTo(8,  6);
  DrawCanvas.LineTo(16, 6);
  DrawCanvas.MoveTo(9 , 5);
  DrawCanvas.LineTo(16, 5);
  DrawCanvas.MoveTo(11, 4);
  DrawCanvas.LineTo(16, 4);
  DrawCanvas.MoveTo(14, 3);
  DrawCanvas.LineTo(16, 3);
  // Vamos Pintar de Verde !
  DrawCanvas.Pen.Color := clGreen;
  DrawCanvas.MoveTo(25,15);
  DrawCanvas.LineTo(30,15);
  DrawCanvas.MoveTo(25,14);
  DrawCanvas.LineTo(30,14);
  DrawCanvas.MoveTo(24,13);
  DrawCanvas.LineTo(29,13);
  DrawCanvas.MoveTo(24,12);
  DrawCanvas.LineTo(29,12);
  DrawCanvas.MoveTo(23,11);
  DrawCanvas.LineTo(29,11);
  DrawCanvas.MoveTo(22,10);
  DrawCanvas.LineTo(29,10);
  DrawCanvas.MoveTo(21, 9);
  DrawCanvas.LineTo(28, 9);
  DrawCanvas.MoveTo(19, 8);
  DrawCanvas.LineTo(27, 8);
  DrawCanvas.MoveTo(17, 7);
  DrawCanvas.LineTo(27, 7);
  DrawCanvas.MoveTo(17, 6);
  DrawCanvas.LineTo(26, 6);
  DrawCanvas.MoveTo(17, 5);
  DrawCanvas.LineTo(24, 5);
  DrawCanvas.MoveTo(17, 4);
  DrawCanvas.LineTo(23, 4);
  DrawCanvas.MoveTo(17, 3);
  DrawCanvas.LineTo(19, 3);
  // Vamos Pintar de Azul !
  DrawCanvas.Pen.Color := clBlue;
  DrawCanvas.MoveTo(3, 17);
  DrawCanvas.LineTo(8, 17);
  DrawCanvas.MoveTo(3, 18);
  DrawCanvas.LineTo(8, 18);
  DrawCanvas.MoveTo(3, 19);
  DrawCanvas.LineTo(9, 19);
  DrawCanvas.MoveTo(4, 20);
  DrawCanvas.LineTo(9, 20);
  DrawCanvas.MoveTo(4, 21);
  DrawCanvas.LineTo(10,21);
  DrawCanvas.MoveTo(4, 22);
  DrawCanvas.LineTo(11,22);
  DrawCanvas.MoveTo(5, 23);
  DrawCanvas.LineTo(12,23);
  DrawCanvas.MoveTo(6, 24);
  DrawCanvas.LineTo(14,24);
  DrawCanvas.MoveTo(7, 25);
  DrawCanvas.LineTo(16,25);
  DrawCanvas.MoveTo(8, 26);
  DrawCanvas.LineTo(16,26);
  DrawCanvas.MoveTo(9, 27);
  DrawCanvas.LineTo(16,27);
  DrawCanvas.MoveTo(10,28);
  DrawCanvas.LineTo(16,28);
  DrawCanvas.MoveTo(14,29);
  DrawCanvas.LineTo(16,29);
  // Vamos Pintar de Amarelo !
  DrawCanvas.Pen.Color := clYellow;
  DrawCanvas.MoveTo(25,17);
  DrawCanvas.LineTo(30,17);
  DrawCanvas.MoveTo(25,18);
  DrawCanvas.LineTo(30,18);
  DrawCanvas.MoveTo(24,19);
  DrawCanvas.LineTo(29,19);
  DrawCanvas.MoveTo(24,20);
  DrawCanvas.LineTo(29,20);
  DrawCanvas.MoveTo(23,21);
  DrawCanvas.LineTo(29,21);
  DrawCanvas.MoveTo(22,22);
  DrawCanvas.LineTo(29,22);
  DrawCanvas.MoveTo(22,23);
  DrawCanvas.LineTo(28,23);
  DrawCanvas.MoveTo(19,24);
  DrawCanvas.LineTo(27,24);
  DrawCanvas.MoveTo(17,25);
  DrawCanvas.LineTo(27,25);
  DrawCanvas.MoveTo(17,26);
  DrawCanvas.LineTo(25,26);
  DrawCanvas.MoveTo(17,27);
  DrawCanvas.LineTo(24,27);
  DrawCanvas.MoveTo(17,28);
  DrawCanvas.LineTo(22,28);
  DrawCanvas.MoveTo(17,29);
  DrawCanvas.LineTo(19,29);
  // Vamos Fazer a Luz !
  DrawCanvas.Pixels[8, 8] := clwhite;
  DrawCanvas.Pixels[7, 9] := clwhite;
  DrawCanvas.Pixels[7,10] := clwhite;
  DrawCanvas.Pen.Color := PenColorAtual;
end;

Agora, pra testar, adicione um ListBox ao formulário e acrescente a ele 1 item qualquer.

Em seguida, altere a sua propriedade Style para lbOwnerDrawVariable.

Agora vá ao evento onDrawItem do ListBox e faça:

  MediaPlayerIconCanvas(ListBox1.Canvas);

Rode e teste! Agora basta usar a sua criatividade.

Bom, espero que tenham aprendido alguma coisa.
Abraços!

Por: Fer22.3
Contato: fer.gatinho@hotmail.com



Comentários Comentários
   Ordem:  
Comentários pertencem aos seus respectivos autores. Não somos responsáveis pelo seus conteúdos.


por: spejo (thispejo@yahoo.com.br) : Jun 18, 2008 - 08:46
(Informações sobre o membro | Enviar uma mensagem)
show de bola!
  Edição 112

Revista ActiveDelphi

  50 Programas Fontes


  Produtos

Conheça Nossos Produtos

Copyright© 2001-2016 – Active Delphi – Todos os direitos reservados