Caribensila
Messages postés2527Date d'inscriptionjeudi 15 janvier 2004StatutMembreDernière intervention16 octobre 2019
-
13 juin 2006 à 16:44
Caribensila
Messages postés2527Date d'inscriptionjeudi 15 janvier 2004StatutMembreDernière intervention16 octobre 2019
-
14 juin 2006 à 13:12
Salut à tous.
Vous allez bien?
Moi, je rame sur un petit truc depuis pas mal de temps...
Voilà, j'ai besoin de connaître la taille en octets d'une image JPEG qui se trouve dans un TImage afin de la sauvergarder dans un fichier binaire...
J'utilise un truc qui fonctionne, mais qui me semble un peu barbare...
Quelqu'un connaîtrait-il une alternative plus élégante?
Voici ma bidouille:
uses jpeg;
procedure TForm1.Button1Click(Sender: TObject);
var
PhotoJPG : TjpegImage;
Strm : TMemoryStream;
begin
PhotoJPG := TjpegImage.Create;
Strm:=TMemoryStream.Create;
try
PhotoJPG.Assign(Image1.Picture);
PhotoJPG.SaveToStream(Strm);
Edit1.text := IntToStr(Strm.Size); // Taille de l'image.
finally
Strm.Free;
PhotoJPG.Free;
end;
end;
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 202235 14 juin 2006 à 04:35
mmm le probleme avec les images JPeg, c'est qu'on peu pas determiné tel quel la taille finale du fichier comme avec les BMP par exemple.
donc ta methode n'est pas mauvaise, bien qu'elle ne prenne pas en compte la qualitée de compression.
a mon avis tu dois avoir une marge d'erreur de quelques centaines d'octets a chaque fois.
mais bon, c'est ce qu'il y a de mieux a faire, avec le TJpegImage, d'autres methodes serait tout aussi longue voir beaucoup plus.