seja bem vindo ao forum eof, caso nao seja cadastrado se cadastre para poder visualizar todo o conteudo ^^

Você não está conectado. Conecte-se ou registre-se

 » Programação Desktop » Pascal / Delphi » [tutorial] desenhando com canvas (delphi) - 7º parte

[tutorial] desenhando com canvas (delphi) - 7º parte

Ir em baixo  Mensagem [Página 1 de 1]

Kodo no Kami

avatar
master
master
e ae galera continuando o tutorial de canvas e delphi nesse vamos aprender apagar uma imagem que é uma forma bem simples que é re-desenhar o fundo que vai sobrepor a imagem de baixo, antes de tudo vamos carregar uma imagem como vimos no tutorial anterior

Código:
procedure TForm1.FormPaint(Sender: TObject);
var campione: TBitmap;
begin
  campione := TBitmap.Create;
  campione.LoadFromFile('c:\users\fts315\desktop\campione.bmp');
  Form1.Canvas.draw(0,0,campione);
end;

[Você precisa estar registrado e conectado para ver esta imagem.]

como eu ja sei que a cor do fundo do form é o clBtnFace basta eu desenhar um quadrado com o mesmo tamanho da imagem ou tamanho da parte que eu vou apagar e desenhar com a mesma cor do fundo do form e pronto eu apago a imagem anterior (recomendo usar o metodo fillrect para desenhar o quadrado devido ele nao ter borda)

Código:
procedure TForm1.FormPaint(Sender: TObject);
var campione: TBitmap;
begin
  campione := TBitmap.Create;
  campione.LoadFromFile('c:\users\fts315\desktop\campione.bmp');
  Form1.Canvas.draw(0,0,campione);

  Form1.Canvas.Brush.Color := clBtnFace;
  Form1.Canvas.FillRect(Rect(0,0,600,480));
end;

[Você precisa estar registrado e conectado para ver esta imagem.]

uma forma interessante principalmente quando estamos desenvolvendo um jogo é copiar o fundo antes de desenhar a imagem depois so retornar o fundo para mesma posição caso a gente queira apagar a imagem (cada movimento do personagem do jogo poderia apagar a imagem anterior colocar o fundo denovo e desenhar o char na outra posição dessa forma evitando fica varias imagens fantasmas no jogo)

Código:
procedure TForm1.FormPaint(Sender: TObject);
var campione: TBitmap;
    fundo: TBitmap;
begin
  campione := TBitmap.Create;
  fundo := TBitmap.Create;

  campione.LoadFromFile('c:\users\fts315\desktop\campione.bmp');

  fundo.Width := 600;
  fundo.Height := 400;
  fundo.Canvas.CopyRect(Rect(0,0,600,400),Form1.Canvas,Rect(0,0,600,400));

  Form1.Canvas.draw(0,0,campione);

  Form1.Canvas.CopyRect(Rect(0,0,600,400),fundo.Canvas,Rect(0,0,600,400));
end;

[Você precisa estar registrado e conectado para ver esta imagem.]

bom galera é isso ate a proxima parte ^^

by kõdo no kami


_________________ASSINATURA_________________
[Você precisa estar registrado e conectado para ver esta imagem.]
[Você precisa estar registrado e conectado para ver esta imagem.]

Contato:
Spoiler:

Contato:
Facebook: [Você precisa estar registrado e conectado para ver este link.]
Skype: hackerfts315
http://endoffile.umforum.net

Voltar ao Topo  Mensagem [Página 1 de 1]

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum