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; Bitmap: TBitmap; 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; Bitmap:= TBitmap.Create; try
Bitmap.LoadFromFile(OpenPictureDialog1.FileName); JPEGImage.Assign(Bitmap); JPEGImage.SaveToFile(ExtractFilePath(OpenPictureDialog1.FileName) + ChangeFileExt(sArchivoDestino, '.jpg')); finally
Bitmap.Free; JPEGImage.Free; 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