Taille d'une JPEG

Résolu
Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 - 23 déc. 2004 à 17:14
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 - 23 déc. 2004 à 22:02
Bonjour à tous.

Existe-il un moyen de connaître la nouvelle taille mémoire d'une image JPEG après sa compression?
Ce serait juste pour évaluer la taille du fichier final.
J'ai fouillé l'aide en ligne de Delphi et je n'ai rien trouvé à ce sujet...
Si quelqu'un peut me mettre sur une voie? merci :)

6 réponses

cs_ManChesTer Messages postés 374 Date d'inscription vendredi 20 octobre 2000 Statut Modérateur Dernière intervention 15 janvier 2021
23 déc. 2004 à 20:19
Ceci devrais répondre a ta question :

procedure TForm1.BitBtn1Click(Sender: TObject);
Var Bmp : Tbitmap;
Jpeg : TJpegImage;
Strm : TMemoryStream;
begin
if Opendialog1.Execute then
begin
Bmp:=Tbitmap.Create;
Bmp.LoadFromFile(Opendialog1.FileName);
Strm:=TMemoryStream.Create;
Bmp.SaveToStream(Strm);
ShowMessage('Taille en Bmp :'+Inttostr(Strm.Size div 1024)+'Kb');
Strm.Free;
Jpeg := TJpegImage.Create;
Jpeg.Assign(Bmp);
Strm:=TMemoryStream.Create;
Jpeg.SaveToStream(Strm);
ShowMessage('Taille en Jpeg :'+Inttostr(Strm.Size div 1024)+'Kb');
Strm.Free;
Bmp.Free;
Jpeg.Free;
end;
end;

Bon Coding ....

ManChesTer.
3
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
23 déc. 2004 à 18:30
Tu pourrais peut-être enregistrer tes deux images (avant et après compression) dan un dossier temporaire et ainsi connaître leur taille sur le disque...
Il y a surement une meilleure solution, mais je ne l'ai pas encore trouvée... :sad)

@+
Bonne Prog'
Nico

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient ! ;)
0
Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 18
23 déc. 2004 à 18:47
Ben, c'est ce que je vais faire si il n'y a pas d'autre solution. lol

Je suis en train d'essayer avec :

GetHeapStatus.FreeSmall ;

Ca a l'air de correspondre à peu prés.
Mais, je ne comprends pas bien les données que renvoie cette fonction.
Je me replonge dedans!

En tout cas, merci pour ta réponse. :)
0
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
23 déc. 2004 à 18:56
L'aide de Delphi nous dit ceci :
FreeSmall : Nombre total d'octets de petits blocs de mémoire non alloués actuellement par votre programme

Je ne pense pas que cela soit la meilleure solution pour trouver la taille de l'image...

@+
Bonne Prog'
Nico

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient ! ;)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 18
23 déc. 2004 à 21:20
C'est exactement ce que je cherchais. C'est propre et rapide.
Merci beaucoup ManChesTer!
0
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
23 déc. 2004 à 22:02
Merci ManChesTer :)
0
Rejoignez-nous