GARANTIR DESCONTO

Fórum Converter Jpeg para Bitmap #342512

12/06/2007

0

Estou usando os codigos indicados para transformar uma foto Jepg para
Bitmap

procedure ConverterJPegParaBmp(caminho:String); var JPeg: TJPegImage; Bmp: TBitmap; img : TImage; begin JPeg := TJPegImage.Create; try Showmessage(Form1.OpenPictureDialog1.FileName); JPeg.LoadFromFile(caminho); Bmp := TBitmap.Create; try Bmp.Assign(JPeg); Bmp.SaveToFile(´qualquercaminho´); finally Bmp.Free; end; finally JPeg.Free; end; end;


o problema é que o Bitmap que esta sendo salvo esta com um Tamanho de 13M... e a Foto original tem 600K aporximadamente

Aonde esta o erro ?? e com resolver este problema ;;;

Obrigado


Marco Salles

Marco Salles

Responder

Posts

12/06/2007

Massuda

JPGE, PNG, GIF, etc são formatos de imagem que utilizam internamente algum tipo de compactação de dados, o que não acontece com o formato BMP, por isso qualquer BMP será maior que o arquivo JPG correspondente.


Responder

Gostei + 0

12/06/2007

Marco Salles

Belza massuda.. Realmente voce tm toda a razão..

Mas vejo muitas pessoas que postam dizerem que salva imagens de uma camera no formato Bmp.. e as minha fotos que eu tirei , quando armazenei para o Pc vieram no formato jpeg

o que eu preciso são de fotos no formato bmp , porém com tamanhos reduzidos...

Sera que é configuração da camera ou do softawre usado para trasnferir estas imagens da maquina fotografica para o pc ????


Responder

Gostei + 0

12/06/2007

Massuda

[quote:cd662222dd=´Marco Salles´]as minha fotos que eu tirei , quando armazenei para o Pc vieram no formato jpeg[/quote:cd662222dd]Todas as cameras que conheço geram arquivos JPG.

[quote:cd662222dd=´Marco Salles´]o que eu preciso são de fotos no formato bmp , porém com tamanhos reduzidos...[/quote:cd662222dd]As únicas maneiras de reduzir o tamanho do BMP é reduzir o número de cores na imagem (por exemplo, ao invés de usar cores 32 bits, usar 16 bits) ou o tamanho da imagem. O Paint do Windows é capaz de fazer isso mas pode mudar a imagem, programas mais sofisticados podem fazer isso sem mudar a imagem resultante.


Responder

Gostei + 0

13/09/2007

Cgm2k7

Ai amigo use esta aqui que eu teste e aprovei

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Jpeg, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}
procedure JpgToBmp(FileName: string);
var
Bmp: TBitmap;
Stm: TMemoryStream;
Jpg: TJpegImage;
begin
if FileExists(FileName) then
begin
Jpg := TJpegImage.Create;
Jpg.LoadFromFile(FileName);
Bmp := TBitmap.Create;
Bmp.Assign(Jpg);
//Bmp.Compress;
Stm := TMemoryStream.Create;
Bmp.SaveToStream(Stm);
Stm.Position := 0;
Stm.SaveToFile(ChangeFileExt(FileName, ´_Convertida.bmp´));
Stm.Free;
Bmp.Free;
Jpg.Free;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
JpgToBmp(´MinhaJPG.jpg´);//OBS:no mesmo diretorio do programa que //tiver a ´MinhaJPG.jpg´ sera salva ´MinhaJPG_Convertida.bmp´
end;

end.


Responder

Gostei + 0

13/09/2007

Wolverinefarah

[quote:f1d804e7ba=´Marco Salles´]Estou usando os codigos indicados para transformar uma foto Jepg para
Bitmap

procedure ConverterJPegParaBmp(caminho:String); var JPeg: TJPegImage; Bmp: TBitmap; img : TImage; begin JPeg := TJPegImage.Create; try Showmessage(Form1.OpenPictureDialog1.FileName); JPeg.LoadFromFile(caminho); Bmp := TBitmap.Create; try Bmp.Assign(JPeg); Bmp.SaveToFile(´qualquercaminho´); finally Bmp.Free; end; finally JPeg.Free; end; end;


o problema é que o Bitmap que esta sendo salvo esta com um Tamanho de 13M... e a Foto original tem 600K aporximadamente

Aonde esta o erro ?? e com resolver este problema ;;;

Obrigado[/quote:f1d804e7ba]

eis ai amigo .

// Declare Jpeg na seÃ?Ã&o USES.
function JpgToBmp(cImage: String): Boolean;
var MyJPEG : TJPEGImage; MyBMP : TBitmap;
begin
Result := False;
if fileExists(cImage + ´.Jpeg´) then begin
MyJPEG := TJPEGImage.Create;
with MyJPEG do begin try
LoadFromFile(cImage + ´.Jpeg´);
MyBMP := TBitmap.Create;
with MyBMP do begin
Width := MyJPEG.Width;
Height := MyJPEG.Height;
Canvas.Draw(0,0,MyJPEG);
SaveToFile(cImage + ´.Bmp´);
Free;
Result := True;
end; finally Free; end; end; end; end;

vlw .


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar