Ver Mensaje Individual
  #2  
Antiguo 12-04-2008
Avatar de Black_Ocean
Black_Ocean Black_Ocean is offline
Miembro
 
Registrado: nov 2006
Posts: 128
Reputación: 18
Black_Ocean Va por buen camino
Este procedimiento de ejemplo que acabo de hacer si funciona :P

1. Inserta un componente OpenPictureDialog (paleta Dialogs) y un Button (paleta Standard) en tu formulario.
2. Agrega el código fuente siguiente de acuerdo a tus requerimientos:

Código Delphi [-]
uses
  JPEG;

procedure TForm1.Button1Click(Sender: TObject);
var
  JPEGImage: TJPEGImage; // Variable de tipo TJPEGImage, que son contenedores para imágenes JPG/JPEG
  Bitmap: TBitmap; // Variable de tipo TBitmap, que son contenedores para imágenes BMP
  sArchivoDestino: TFileName;
begin
  sArchivoDestino := '';
  OpenPictureDialog1.Filter := 'Bitmaps (*.bmp)|*.bmp';
  OpenPictureDialog1.Title := 'Abrir archivo...';
  if OpenPictureDialog1.Execute then
  begin
    sArchivoDestino := InputBox('Guardar como...', 'Especifique el nombre de destino', sArchivoDestino);
    JPEGImage:= TJPEGImage.Create; //Creamos el objeto de clase TJPEGImage en la memoria
    Bitmap:= TBitmap.Create; //Creamos el objeto de clase TBitmap en la memoria
    try
      Bitmap.LoadFromFile(OpenPictureDialog1.FileName); //Cargamos al objeto de clase TBitmap una imagen deseada de formato BMP desde un archivo externo.
      JPEGImage.Assign(Bitmap); // Asignamos (copiamos) la imagen contenida en el objeto de clase TBitmap al objeto de clase TJPEGImage que habíamos cargado anteriormente.
      JPEGImage.SaveToFile(ExtractFilePath(OpenPictureDialog1.FileName) + ChangeFileExt(sArchivoDestino, '.jpg')); //Guardamos al disco duro el archivo en formato JPG que es el que requerías.
    finally
      Bitmap.Free; //Liberamos el objeto de tipo TBitmap de la memoria porque, en este caso, ya no lo usaremos más
      JPEGImage.Free; //Liberamos el objeto de tipo TJPEGImage de la memoria porque, en este caso, ya no lo usaremos más
    end;
  end;
end;

Si no quieres usar la función InputBox para mostrar un diálogo básico, ocupa el componente SaveDialog =) Yo quise usar InputBox

Saludos

Última edición por Black_Ocean fecha: 12-04-2008 a las 08:19:05.
Responder Con Cita