Utilizamos cookies propias y de terceros. [Más información sobre las cookies].
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Wiki
Convertir imagen BMP en JPEG comprimido - Delphi
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

Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A