e ae galera aqui vai um tutorial de delphi sobre canvas, bom o canvas é forma de desenhar sobre um determinado plano (no caso do delphi sobre o fundo de uma janela), para usar o canvas basta usar o metodo canvas junto ao objeto que no caso é a janela ou form seguido do metodo ou atributo do canvas que vamos usar (eu to usando o evento onpaint do form que cria o desenho quando o form for desenhado)
o primeiro metodo que vamos ver do canvas é o TextOut que permite escrever determinado texto (na verdade permite desenhar determinado texto na janela, o componente label do delphi funciona mais ou menos dessa forma), para usar o metodo TextOut temos que especificar tres argumentos a coordenada que sao tipos inteiros que seria um argumento para esquerda e um para baixo (a posição 0,0 seria equivalente ao canto superior esquerdo da janela) e o ultimo argumento seria texto que é uma string
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
para a gente mudar a cor temos que usar o atributo Font.Color antes do metodo TextOut, e atribumos a cor podemos usar constantes como clRed, clBlue, clYellow
ou podemos usar a função rgb para passar o byte equivalente 3 cores para formar a outra
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
podemos usar os metodos quantas vezes a gente quiser
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
para aumentar a fonte usamos o atributo Fonte.Size
tambem podemos mudar o estilo da fonte com o atributo Font.Name
para mudar cor do fundo usamos o atributo brush.color
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
ate agora a gente tava usando o form porem existe outros componentes que podemos usar o canvas um deles é o PaintBox da aba System, Image da aba Addtional, PageControl da aba Win32 entre outros, uma das vantagem de usar esses componente que o canvas vai se limita nas coordenada dele
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
tambem podemos usar botao e eventos para desenhar ele de forma mais dinamicas, um exemplo seria esse programa que permite escolher as coordenadas do texto e a cor com base no rgb
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
bom galera essa é a primeira parte desse tutorial nas proxima parte vamos aprender desenhar linhas,quadrados, círculos e outras coisas mais dinamicas ^^
by kõdo no kami
- Código:
procedure TForm1.FormPaint(Sender: TObject);
begin
Form1.Canvas
end;
o primeiro metodo que vamos ver do canvas é o TextOut que permite escrever determinado texto (na verdade permite desenhar determinado texto na janela, o componente label do delphi funciona mais ou menos dessa forma), para usar o metodo TextOut temos que especificar tres argumentos a coordenada que sao tipos inteiros que seria um argumento para esquerda e um para baixo (a posição 0,0 seria equivalente ao canto superior esquerdo da janela) e o ultimo argumento seria texto que é uma string
- Código:
procedure TForm1.FormPaint(Sender: TObject);
begin
Form1.Canvas.TextOut(50,200,'kodo no kami');
end;
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
para a gente mudar a cor temos que usar o atributo Font.Color antes do metodo TextOut, e atribumos a cor podemos usar constantes como clRed, clBlue, clYellow
- Código:
procedure TForm1.FormPaint(Sender: TObject);
begin
Form1.Canvas.Font.Color := clBlue;
Form1.Canvas.TextOut(50,200,'kodo no kami');
end;
ou podemos usar a função rgb para passar o byte equivalente 3 cores para formar a outra
- Código:
procedure TForm1.FormPaint(Sender: TObject);
begin
Form1.Canvas.Font.Color := RGB(200,0,50);
Form1.Canvas.TextOut(50,200,'kodo no kami');
end;
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
podemos usar os metodos quantas vezes a gente quiser
- Código:
procedure TForm1.FormPaint(Sender: TObject);
begin
Form1.Canvas.Font.Color := clRed;
Form1.Canvas.TextOut(50,200,'kodo no kami');
Form1.Canvas.Font.Color := clBlue;
Form1.Canvas.TextOut(100,100,'hfts315');
Form1.Canvas.Font.Color := clYellow;
Form1.Canvas.TextOut(250,280,'vish alguem consegue ler isso');
Form1.Canvas.Font.Color := clGreen;
Form1.Canvas.TextOut(0,0,'coordenada 0,0 é aqui');
Form1.Canvas.TextOut(315,315,'315,315 é aqui');
end;
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
para aumentar a fonte usamos o atributo Fonte.Size
- Código:
procedure TForm1.FormPaint(Sender: TObject);
begin
Form1.Canvas.Font.Size := 50;
Form1.Canvas.TextOut(50,200,'kodo no kami');
end;
tambem podemos mudar o estilo da fonte com o atributo Font.Name
- Código:
procedure TForm1.FormPaint(Sender: TObject);
begin
Form1.Canvas.Font.Size := 50;
Form1.Canvas.Font.Name := 'Tahoma';
Form1.Canvas.TextOut(50,200,'kodo no kami');
end;
para mudar cor do fundo usamos o atributo brush.color
- Código:
procedure TForm1.FormPaint(Sender: TObject);
begin
Form1.Canvas.Brush.Color := clYellow;
Form1.Canvas.TextOut(50,200,'kodo no kami');
end;
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
ate agora a gente tava usando o form porem existe outros componentes que podemos usar o canvas um deles é o PaintBox da aba System, Image da aba Addtional, PageControl da aba Win32 entre outros, uma das vantagem de usar esses componente que o canvas vai se limita nas coordenada dele
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
tambem podemos usar botao e eventos para desenhar ele de forma mais dinamicas, um exemplo seria esse programa que permite escolher as coordenadas do texto e a cor com base no rgb
- Código:
procedure TForm1.btn1Click(Sender: TObject);
var r,g,b: Byte;
y,x: Integer;
t: string;
begin
t := edt1.Text;
y := StrToInt(edt2.Text);
x := StrToInt(edt3.Text);
r := StrToInt(edt4.Text);
g := StrToInt(edt5.Text);
b := StrToInt(edt6.Text);
pb1.Canvas.Font.Color := RGB(r,g,b);
pb1.Canvas.TextOut(y,x,t);
end;
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
bom galera essa é a primeira parte desse tutorial nas proxima parte vamos aprender desenhar linhas,quadrados, círculos e outras coisas mais dinamicas ^^
by kõdo no kami