e ae galera continuando o tuto anterior de canvas e delphi, nesse vamos fazer algumas figuras geometricas e algumas coisas a mais, para começar vamos lembrar um pouco do tuto anterior onde usamos o canvas do form e o metodo textOut para escrever um texto, tambem teve o metodo brush.color para mudar a cor de background e o font.color para mudar a cor do texto ou do foreground e alguns outros
para a gente desenhar uma quadrado ou retangulo usamos o metodo Retangle nele passamos 4 argumentos as duas posições inicial e as duas final, sendo o primeiro argumento é onde vai começar o retangulo para o lado esquerdo, o segundo argumento onde vai começar o retangulo para baixo, o terceiro argumento onde vai terminar o retangulo para esquerda e ultimo onde vai terminar o retangulo para baixo
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
o exemplo acima é um quadrado com tamanho 100x100 (isso pq o inicio do x é 50 e o fim do x é 150 entao 150 - 50 = 100, o y tambem é 100)
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
sim kodo mais pq isso é importante? , no caso se voce tiver que fazer um quadrado com tamanho especifico voce precisa fazer umas contas exemplo se seu retangulo começa em 120 e 130 e ele vai ter o tamanho de 130x120 entao o final dele vai ser em?, voltando para o canvas com o metodo brush.color podemos escolher a cor de fundo
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
podemos criar um objeto TRect, usar os atributos left, right, top e bottom para definir o inicio e fim de x e y (sendo o inicio de x é o left e o fim right, e o inicio de y sendo o top e o fim bottom), depois passar ele como argumento para o metodo
outra forma seria usar typecast com o rect para passar os argumentos e converter para TRect isso dinamicamente (porem fazer isso no metodo Rectangle nao é necessario ja que ele ja tem os argumentos para passar, entao isso so seria util em alguma função que aceite apenas objeto TRect e a gente precise criar dinamicamente)
um outro metodo que permite criar retangulo é o FillRect, a diferença entre o metodo FillRect e Rectangle é que o fillrect so aceita como argumento o objeto TRect, outra diferença que ele nao existe linhas para separar entao é necessario usar cor de fundo nele
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
podemos desenhar um quadrado mais arredondado com o metodo RoundRect, esse metodo sao 6 argumentos sendo os 4 primeiros argumentos tem a mesma utilidade do metodo rectangle e os dois ultimos a curvatura dos lados e de cima
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
podemos fazer um circulo com aquele metodo bastando aumentar o numero da curvatura (embora esse metodo nao seja o unico para fazer isso existem outros ate mais especificos)
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
bom galera esse tuto vai ter mais algumas partes, ate a proxima ^^
by kõdo no kami
- Código:
procedure TForm1.FormPaint(Sender: TObject);
begin
Form1.Canvas.Font.Color := clRed;
Form1.Canvas.Brush.Color := clGreen;
Form1.Canvas.TextOut(10,10,'by kodo no kami');
end;
para a gente desenhar uma quadrado ou retangulo usamos o metodo Retangle nele passamos 4 argumentos as duas posições inicial e as duas final, sendo o primeiro argumento é onde vai começar o retangulo para o lado esquerdo, o segundo argumento onde vai começar o retangulo para baixo, o terceiro argumento onde vai terminar o retangulo para esquerda e ultimo onde vai terminar o retangulo para baixo
- Código:
procedure TForm1.FormPaint(Sender: TObject);
begin
Form1.Canvas.Rectangle(50,50,150,150);
end;
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
o exemplo acima é um quadrado com tamanho 100x100 (isso pq o inicio do x é 50 e o fim do x é 150 entao 150 - 50 = 100, o y tambem é 100)
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
sim kodo mais pq isso é importante? , no caso se voce tiver que fazer um quadrado com tamanho especifico voce precisa fazer umas contas exemplo se seu retangulo começa em 120 e 130 e ele vai ter o tamanho de 130x120 entao o final dele vai ser em?, voltando para o canvas com o metodo brush.color podemos escolher a cor de fundo
- Código:
procedure TForm1.FormPaint(Sender: TObject);
begin
Form1.Canvas.Brush.Color := clred;
Form1.Canvas.Rectangle(120,130,250,250);
end;
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
podemos criar um objeto TRect, usar os atributos left, right, top e bottom para definir o inicio e fim de x e y (sendo o inicio de x é o left e o fim right, e o inicio de y sendo o top e o fim bottom), depois passar ele como argumento para o metodo
- Código:
procedure TForm1.FormPaint(Sender: TObject);
var kodoquad: TRect;
begin
kodoquad.Left := 100;
kodoquad.Right := 200;
kodoquad.Top := 100;
kodoquad.Bottom := 200;
Form1.Canvas.Rectangle(kodoquad);
end;
outra forma seria usar typecast com o rect para passar os argumentos e converter para TRect isso dinamicamente (porem fazer isso no metodo Rectangle nao é necessario ja que ele ja tem os argumentos para passar, entao isso so seria util em alguma função que aceite apenas objeto TRect e a gente precise criar dinamicamente)
- Código:
procedure TForm1.FormPaint(Sender: TObject);
begin
Form1.Canvas.Rectangle(Rect(100,100,200,200));
end;
um outro metodo que permite criar retangulo é o FillRect, a diferença entre o metodo FillRect e Rectangle é que o fillrect so aceita como argumento o objeto TRect, outra diferença que ele nao existe linhas para separar entao é necessario usar cor de fundo nele
- Código:
procedure TForm1.FormPaint(Sender: TObject);
begin
Form1.Canvas.Brush.Color := clBlue;
Form1.Canvas.FillRect(Rect(100,100,300,300));
end;
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
podemos desenhar um quadrado mais arredondado com o metodo RoundRect, esse metodo sao 6 argumentos sendo os 4 primeiros argumentos tem a mesma utilidade do metodo rectangle e os dois ultimos a curvatura dos lados e de cima
- Código:
procedure TForm1.FormPaint(Sender: TObject);
begin
Form1.Canvas.RoundRect(100,100,200,200,10,10);
end;
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
podemos fazer um circulo com aquele metodo bastando aumentar o numero da curvatura (embora esse metodo nao seja o unico para fazer isso existem outros ate mais especificos)
- Código:
procedure TForm1.FormPaint(Sender: TObject);
begin
Form1.Canvas.RoundRect(100,100,200,200,100,100);
end;
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
bom galera esse tuto vai ter mais algumas partes, ate a proxima ^^
by kõdo no kami