les bitmaps oui, mais il existe aussi le JPG et le PNG qui tout deux offre un taux de compression interressant pour garder :
1) une image de grande dimension
2) une taille faible du fichier final.
en Bitmap, le header pese 56 octets et les pixels se calcules par le rapport
P = L x h x (b/8)
donc le poids total d'un bitmap nous donne :
P = 56 + (L x h x (b/8))
L = largeur
h = hauteur
b = taille des pixels en bits
ce qui nous donne la fonction :
function GetBitmapSize(BMP : TBitmap) : int64;
var BR : single;
begin
case BMP.PixelFormat of
pf1bit : BR := 0.125; { approximation }
pf4bit : BR := 0.5; { approximation } pf8bit : BR := 1;
pf15bit: BR := 1.875; { approximation } pf16bit: BR := 2;
pf24bit: BR := 3;
pf32bit: BR := 4;
else
BR := 4; { pfDevice ou pfCustom non supporté, mise par defaut 32 bits } end;
result := 56 + round((BMP.Width * BMP.Height) * BR);
end;
ensuite 700Ko = 700000 octets (nn) mais si on parle de Kio (KibiOctet) 700Ko = 716 800 octets
ce qui laisse tout de meme 16800 octets de plus.
Croc (click me)