Hola foro como andan espero y bien por que yo aquí rompiéndome el coco un rato jeje bueno vamos al grano.
Lo que pasa es que trato de guardar en una imagen ya sea
.jpg o .bmp el
área cliente de mi aplicación bueno hasta ahí todo bien, lo hago de la siguiente forma:
Código Delphi
[-]
procedure TForm1.GuardarImagen1Click(Sender: TObject);
begin
Bitmap := TBitmap.Create;
jpeg := TJPEGImage.Create;
Bitmap.Width := ClientWidth;
Bitmap.Height := ClientHeight;
Bitmap.Canvas.CopyRect(ClientRect, Canvas, ClientRect);
if SaveDialog1.Execute then
begin
try
if SaveDialog1.FilterIndex =1 then begin
jpeg.Assign(Bitmap);
jpeg.CompressionQuality:=90; jpeg.Compress;
jpeg.SaveToFile(SaveDialog1.FileName+'.jpg');
end;
if SaveDialog1.FilterIndex =2 then begin
Bitmap.SaveToFile(SaveDialog1.FileName+'.bmp');
end;
finally
jpeg.Free;
Bitmap.Free;
end;
end;
end;
Con el código anterior la guarda bien miren la siguiente imagen;
http://img.tomatone.net/big/paramore.jpeg
El problema esta que hay veces no siempre que la imagen sale comida en uno de sus extremos miren la imagen siguiente:
http://img.tomatone.net/big/patamore2.jpeg
Pero yo creo que es por que en ese lugar tengo un MainMenu, por donde le doy la opción al usuario para guardar la imagen miren la siguiente imagen:
http://img.tomatone.net/big/paramore3.JPG
Entonces mi pregunta es como hago para que no me salga comida la imagen sin necesidad de quitar el MainMenu o hay otra forma de capturar el área cliente espero sus respuestas gracias de antemano
Gulder salu2