Fórum Como salvar em um arquivo de imagem o que tem dentro do Pane #262683
19/12/2004
0
Raserafim
Curtir tópico
+ 0Posts
20/12/2004
Marcelo Saviski
Gostei + 0
21/12/2004
Raserafim
É como se eu tivesse montado uma imagem juntando várias imagens e agora preciso salvar isto, ou seja, o conjunto de imagem (como se fosse apenas uma) que está dentro do panel.
Gostei + 0
21/12/2004
Marcelo Saviski
var BMP: TBitmap; I: Integer; begin BMP := TBitmap.Create; BMP.Width := Panel.Width; BMP.Height := Panel.Height; try for I := 0 to Panel.ConreolCount - 1 do if Panel.Controls[I] is TImage then with TImage(Panel.Controls[I]) do BMP.Canvas.Draw(Left, Top, Picture.Graphic); BMP.SaveToFile(´Imagem.bmp´); finally BMP.Free; end; end;
Se todas as imagens estiverem visíveis no panel, não tiver nenhuma que fique pra fora da área visível isso deve dar certo.
Gostei + 0
23/12/2004
Raserafim
mas o código ainda nao deu certo. Na linha:
BMP.Canvas.Draw(Left, Top, Picture.Graphic);
o parâmetro Picture.Graphic não existe, o que posso colocar no lugar dele?
Gostei + 0
23/12/2004
Marcelo Saviski
qual Delphi vc está usando?
Gostei + 0
24/12/2004
Raserafim
o problema é que estou utilizando o componente TPaintBox (pois precisei que a imagem fosse repetida no componente todo, portanto preciso do evento OnPaint) ao invés do TImage.
Pelo que percebi não tem nenhuma propriedade do TPaintBox que seja TGraphics. Mas a idéia que tive é transformar o TPaintBox em TImage, tem alguma forma de copiar o que está no Canvas do TPaintBox para o TImage? ou se tiver outra solução melhor...
Gostei + 0
27/12/2004
Marcelo Saviski
só para tirar a dúvida, vcvtem só um paint box ou + de 1 dentro do panel?
se for só um, então pode fazer assim:
var BMP: TBitmap; I: Integer; r: TRect; begin BMP := TBitmap.Create; try with PaintBox do begin BMP.Width := Width; BMP.Height := Height; r := Rect(0, 0, Width, Height); BMP.Canvas.CopyRect(r, Canvas, r); end; BMP.SaveToFile(´Imagem.bmp´); finally BMP.Free; end; end;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)