Lenguaje de programación Borland Delphi
Código fuente de una miniaplicación que convierte un fichero BMP en JPEG. Permite especificarle la calidad del fichero JPEG resultante (a menor calidad menor tamaño):
unit UnidadMenuPrincipal;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtDlgs, StdCtrls, Spin, Jpeg, ClipBrd, ExtCtrls;
type
TformMenuPrincipal = class(TForm)
Label1: TLabel;
txtBMP: TEdit;
bSeleccionar: TButton;
dlAbrir: TOpenPictureDialog;
txtJPEG: TEdit;
Label2: TLabel;
bConvertir: TButton;
Label3: TLabel;
txtPorcentajeCompresion: TSpinEdit;
imagenBMP: TImage;
procedure bSeleccionarClick(Sender: TObject);
procedure txtBMPChange(Sender: TObject);
procedure bConvertirClick(Sender: TObject);
procedure convertirBMPJPEG (ficheroBMP : string; ficheroJPEG : string; compresion : integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
formMenuPrincipal: TformMenuPrincipal;
implementation
{$R *.dfm}
//Convierte la magen BMP que exista en Image1 a Jpeg
procedure TformMenuPrincipal.convertirBMPJPEG (ficheroBMP : string; ficheroJPEG : string; compresion : integer);
var
imagenjpg : TJPEGImage;
begin
imagenBMP.Picture.LoadFromFile(ficheroBMP);
imagenjpg := TJPEGImage.Create;
imagenjpg.CompressionQuality := compresion;
imagenjpg.Compress;
//asigna el bitmap al imagejpg, esto convierte el mapa de bit
imagenjpg.Assign(imagenBMP.Picture.Bitmap);
//y guardamos el fichero
imagenjpg.SaveToFile(ficheroJPEG);
end;
procedure TformMenuPrincipal.bSeleccionarClick(Sender: TObject);
begin
dlAbrir.Title := 'Seleccione el fichero BMP';
if dlAbrir.Execute then
txtBMP.Text := dlAbrir.FileName;
end;
procedure TformMenuPrincipal.txtBMPChange(Sender: TObject);
begin
txtJPEG.Text := ChangeFileExt(txtBMP.Text, '.jpg');
end;
procedure TformMenuPrincipal.bConvertirClick(Sender: TObject);
begin
convertirBMPJPEG(txtBMP.Text,txtJPEG.Text,txtPorcentajeCompresion.Value);
end;
end.
Publicado el: 2005-05-16