Ir para conteúdo
Fórum Script Brasil
  • 0

Imagens


D4n1l0d

Pergunta

Eu gostaria de saber se tem jeito de trabalhar com layers no delphi.

POr exemplo:

eu tenho uma imagem -> [fundo] -> image1

e tenho outra imagem -> [bola] -> image2

essas imagens estão em variaveis Timage

eu quero carregalas eu componente Timage só -> imagetotal

trabalhando com apenas um componente TIMAGE eu gostaria de trabalhar com tipo de layers.

pra carregar em um componente Timage só eu faria isso

x := 10;
y := 50;
imagetotal.Canvas.Draw(0,0,image2.Picture.Graphic);
imagetotal.Canvas.Draw(x,y,image1.Picture.bitmap);
//sendo x e y variaveis globais para indicar a posição da bola
cada botão pra movimentar a bola faz isso:
//botão para cima
imagetotal.Canvas.Draw(x,y-5,image1.Picture.bitmap);
y := y-5;
//botão para baixo
imagetotal.Canvas.Draw(x,y+5,image1.Picture.bitmap);
y := y+5;
//botão para a direita
imagetotal.Canvas.Draw(x+5,y,image1.Picture.bitmap);
x := x+5;
//botão para a esquerda
imagetotal.Canvas.Draw(x-5,y,image1.Picture.bitmap);
x := x-5;

so q a bola fica com um rastro, por favor ajudem:

o código de fonte esta no link:

ps: clique primeiro em desenhar para depois movimentar a bola

http://www.danilod.hpg.ig.com.brhttp://www.danilod.hpg.ig.com.br

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

!bola.zip: Unexpected end of archive

o zip ta corrompido

dessa maneira q você fez vai deixar rastro mesmo porque você esta redesenhando emcima, ou seja, vai continuar com a mesma imagem e mais a q você adiciona, tenta limpar o timage primeiro e ai desenhar na nova posicao

exemplo

no onCreate do form você coloca:

nomedoform.doublebuffered := true;

//botão para cima

imagetotal.picture.assign(nil);

imagetotal.Canvas.Draw(x,y-5,Image1.Picture.Graphic);

y := y-5;

//botão para baixo

imagetotal.picture.assign(nil);

imagetotal.Canvas.Draw(x,y+5,Image1.Picture.Graphic);

y := y+5;

//botão para a direita

imagetotal.picture.assign(nil);

imagetotal.Canvas.Draw(x+5,y,Image1.Picture.Graphic);

x := x+5;

//botão para a esquerda

imagetotal.picture.assign(nil);

imagetotal.Canvas.Draw(x-5,y,Image1.Picture.Graphic);

x := x-5;

abraços

Link para o comentário
Compartilhar em outros sites

  • 0

vlw funcionou

so q ai eu tive q redesenha o fundo em cada otão

exemplo de um botão:

//botão para a esquerda

imagetotal.picture.assign(nil);

imagetotal.Canvas.Draw(0,0,image2.Picture.Graphic);

imagetotal.Canvas.Draw(x-5,y,image1.Picture.bitmap);

x := x-5;

bom

vlw

já tirei o server do ar

vlw

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...