Fórum Converter BMP para JPEG #260660
30/11/2004
0
Mesmo transformando em JPEG, o arquivo deve diminiui consideralvemente.
Tipo:
tenhos 14.000 arquivos em bmp, com certa de 300kb cada um, eu executei as rotinas e dicas aqui citadas, a que compactou mais deixou os arquivos com 70kb cada um.
Baixei um programinha, que: esse mesmo arquivo de 300kb ele diminiu para 4 ou 5kb, com a mesma qualidade de que necessito.
Unico detalhe, esse programa solicita o tamanho da imagem, por padrao vem 150x150.
Via programa em delphi, alem de transformar bmp para jpg, como determinar tambem o tamanho da figura para que a mesma fique em torno desses 4 ou 5 kb?
Obrigado.
Pedih
Curtir tópico
+ 0Posts
30/11/2004
Marcelo Saviski
Gostei + 0
30/11/2004
Dopi
Eu uso ele para permitir o usuário capturar Imagens para Fotos de produtos.
O código faz referencia a alguns objetos e variaveis da Unit que ele está inserido, portanto é preciso adapata-lo às suas necessidades...
procedure TfrProdutos.aLerFotoExecute(Sender: TObject); var ImgLoad, ImgReduc : TBitmap ; Rect : TRect ; CodBarras : String ; begin CodBarras := dsCadastro.DataSet.FieldByName(´CODBARRAS´).AsString ; if CodBarras = ´´ then raise Exception.Create(´Esse produto não possui Cod.Barras´) ; ArqFoto := DirFotos + CodBarras + ´.jpg´ ; if OpenDialog1.Execute then begin ImgLoad := TBitmap.Create ; ImgReduc := TBitmap.Create ; try ImgLoad.LoadFromFile( OpenDialog1.FileName ) ; ImgReduc.Format := ´JPEG´ ; ImgReduc.Width := 300 ; ImgReduc.Height := 250 ; Rect.Left := 0 ; Rect.Top := 0 ; Rect.Right := 300 ; Rect.Bottom := 250 ; ImgReduc.Canvas.StretchDraw(Rect, ImgLoad ); ImgReduc.SaveToFile( ArqFoto ); iFoto.Picture.Assign( ImgReduc ); finally ImgLoad.Free ; ImgReduc.Free ; end ; end ; end;
Para funcionar em CLX no Windows vc precisará da Unit : QJpegLoader escrita por: Andreas Hausladen ( http://unvclx.sourceforge.net )
Gostei + 0
01/12/2004
Pedih
gero um relatorio, pelo fortes report.
nele, coloco 30 imagens, em formato .BMP.
no Momento em que as imagens vao para o relatorio, preciso trata-las.
tipo
procedure TfrmPrintOferta.RLDetailGrid1BeforePrint(Sender: TObject;
var PrintIt: Boolean);
begin
MinhaImagem (que é .BMP), se transforma para JPEG, reduzindo drasticamente seu tamanho.
quero que as imagens fique num tamanho de 4 ou 5 KB aproximadamente.
Ja testei algumas dicas, porem, o tamanho da imagem ainda fica grande.
(nao quero salvar as imagens). Mas existe uma opcao no Fortes Report de Salvar o Relatorio em HTML, ae que entra o detalhe de que as imagens devem estar pequenas (em RUNTIME apenas).
agradeco a todos> pedih_rp@yahoo.com.br
no aguardo.
end;
Gostei + 0
01/12/2004
Dopi
Veja essa instruçao:
iFoto.Picture.Assign( ImgReduc );
o TImage IFoto agora tem o conteudo de ImgReduc.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)