Utilizamos cookies propias y de terceros. Al navegar entendemos que aceptas el uso de cookies. +Info.
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Usuario
· 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

Este sitio web NO CONTIENE malware, todos los programas con código fuente aquí. Autor: Alonso Javier Pérez Díaz Google+ Síguenos en Google+