Ver Mensaje Individual
  #1  
Antiguo 24-02-2008
Avatar de gulder
gulder gulder is offline
Miembro
 
Registrado: abr 2005
Ubicación: colombia-sucre
Posts: 384
Reputación: 20
gulder Va por buen camino
Thumbs up Problemas al guardar area cliente de mi ventana

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;

        //capturo la imagen de mi form
        Bitmap.Width := ClientWidth;
        Bitmap.Height := ClientHeight;
        Bitmap.Canvas.CopyRect(ClientRect, Canvas, ClientRect);


       if SaveDialog1.Execute then
       begin
              try
                      //si el formato escogido es jpg
                      if SaveDialog1.FilterIndex =1 then begin
                        jpeg.Assign(Bitmap);
                        jpeg.CompressionQuality:=90; //25% de calidad
                        jpeg.Compress;
                        //guardamos la imagen en formato jpg
                        jpeg.SaveToFile(SaveDialog1.FileName+'.jpg');
                      end;

                      if SaveDialog1.FilterIndex =2 then begin
                       // si el formato escogido es bmp
                        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
Responder Con Cita