Tamanho de um .JPG dentro do executável...

Delphi

27/04/2005

Bom dia pessoal!!!

Essa é minha primeira mensagem no grupo, e estou feliz por isso.

Bom, minha dúvida é a seguinte: Estou desenvolvendo uma aplicação que faz uso de muitas imagens. Logo, o .exe aumenta. Eu gostaria de saber o quanto do tamanho da imagem o .exe ´absorve´.

Ex: Tenho ao todo 1MB de imagens .JPG que fazem parte da minha aplicação. Se meu executável tiver 4MB, então com certeza 1MB é só de imagem?

Espero ter sido claro.

Desde já agradeço

Bruno Augusto[/code]


Brunobaco

Brunobaco

Curtidas 0

Respostas

Brunobaco

Brunobaco

27/04/2005

SOBE


GOSTEI 0
Massuda

Massuda

27/04/2005

...Tenho ao todo 1MB de imagens .JPG que fazem parte da minha aplicação. Se meu executável tiver 4MB, então com certeza 1MB é só de imagem?
A princípio sim. Como essas imagens estão sendo incluídas no seu programa (via TImage em um form ou é um resource embutido)?


GOSTEI 0
Brunobaco

Brunobaco

27/04/2005

Via TImage mesmo.

Naum teria outro modo para poder diminuir o .exe? Seria colocar num .res?

Obrigado


GOSTEI 0
Andremuller

Andremuller

27/04/2005

algumas imagens vc poderia carregar em runt time, tipo algum background da aplicação.


GOSTEI 0
Brunobaco

Brunobaco

27/04/2005

como assim andremuller?

Me desculpe, mas naum tenho ideia de como fazer isso.

Desde ja agradeco.

Bruno Augusto


GOSTEI 0
Massuda

Massuda

27/04/2005

Via TImage mesmo.
Nesse caso, talvez a imagem ocupe mais espaço pois existe a possibilidade do TImage estar convertendo o JPEG para BMP (que ocupa muito mais espaço) na hora de armazenar a imagem no DFM, mas não tenho certeza de que isso ocorra (teria de fazer alguns testes, mas não posso fazer isso agora).


GOSTEI 0
Brunobaco

Brunobaco

27/04/2005

Massuda e andremuller, se vcs puderem, me adicionem em msn de vcs.

bacoliv@hotmail.com

tenho muito interesse em diminuir o meu .exe.

Desde ja agradeco


GOSTEI 0
Andremuller

Andremuller

27/04/2005

Digo que algumas imagens não precisam ser compiladas junto.
Tipo digamos que você tem um imagem de background no seu form principal. Ao invés de ter a imagem adicionada ao TImage dá pra fazer algo como:

procedure TForm1.FormCreate(Sender: TObject);
var
  sPath: string;
begin
  sPath := ExtractFilePath(Application.ExeName) + ´Background.bmp´;
  if FileExists(sPath) then
    Image1.Picture.LoadFromFile(sPath);
end;


A imagem será carregada em Run Time.


GOSTEI 0
Brunobaco

Brunobaco

27/04/2005

Boa andre, mas o problema no meu caso, eh que a imagem eh 100¬ a interface. Entao se o usuario apagar essa img naum compilada, ferra com o programa.

Mas a ideia eh boa, e posso utilizar em outras coisas no mesmo prog.

Desde ja agradeco


GOSTEI 0
Andremuller

Andremuller

27/04/2005

no momento não estou conectado no msn.
se a sua intenção é diminuir drásticamente o tamanho do exe sugiro o estudo da viabilidade da modularização do sistema em DLLs ou BPLs.
Num primeiro momento, caso tenha realmente muitas imagens na aplicação, carregue-as em runtime e verifique se não houve um tempo excessivo no carregamento do form.
Existe bastante material disso na net.


GOSTEI 0
Marcelo Saviski

Marcelo Saviski

27/04/2005

Outro problema pode ser se vc estiver repetindo muito as imagens, tipo ter vários images com a mesma imagem, mas que façam coisas diferentes, o certo teria ter só um armazenado.


GOSTEI 0
Brunobaco

Brunobaco

27/04/2005

Isso eu ja pensei, mas o prob eh que eu naum estou desenvolvendo sozinho, mas sim, dando continuidade a algo ja iniciado. A metodologia do outro desenvolvedor eh essa, e achei muito interessante, acaba ficando uma interface que eu nunca vi antes.
O que eu queria era poder customizar o exe. Verei quais ideias posso usar para que a app naum de problemas.

Se alguem tiver mais alguma ideia, sou todo ´ouvidos´

Desde ja agradeco

Bruno Augusto


GOSTEI 0
POSTAR