Hallucinant !
Et moi aussi j'ai du lourd : je n'arrivais pas à comprendre et admettre que des dimensions plus petites que d'autres génèrent un fichier plus gros, rappel :
J'ai regardé les 2 fichiers à l'éditeur hexa et c'est à tomber par terre, l'un des deux est passé en 24 bpp quand l'autre est resté en 32 bpp comme demandé par le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 //w := 12000; h := 8000; // long à venir mais ça a fonctionné (fic = 384 Mo) //w := 12300; h := 8200; // long à venir mais ça a fonctionné (fic = 302 Mo, bien plus petit que dessus !)
c'est bien les valeurs que j'avais demandé, mais dans les 2 cas j'avais demandé 32 bpp soit 2016, alors d'où sort ce 1816 ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 // En haut, E0 2E 00 00 --> 00 00 2E E0 = 12000, 40 1F 00 00 --> 00 00 1F 40 = 8000 // En bas, 0C 30 00 00 --> 00 00 30 0C = 12300, 08 20 00 00 --> 00 00 20 08 = 8200
Et pour faire les tests je me suis fait chichi : pas de radiobuttons ou de cases à cocher, à chaque fois j'arrête et je commente/décommente les lignes que je veux.
Truc de malade, le machin fait ce qui lui chante...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 b := TBitmap.Create; b.PixelFormat := pf32bit; w := 12000; h := 8000; // long à venir mais ça a fonctionné (fic = 384 Mo) //w := 12300; h := 8200; // long à venir mais ça a fonctionné (fic = 302 Mo, bien plus petit que dessus !) b.Width:=w; b.Height:=h;
Mais on va où, là ?
EDIT : une piste : 12300 / 8 = 1537,5, difficile de gérer ça pour le logiciel, d'autant plus que le pf32bit ne prend pas en compte le padding, donc basculement sur du pf24bit.
Et ce test avec 12320 x 8200 x 32 le confirme : le fichier généré pèse 404 Mo, l'éditeur hexa montre 32 bpp et... 12320 / 8 = 1540, compte rond !
À confirmer avec d'autres tests, mais ça, je le sens bien : on doit avoir une longueur de ligne divisible par 8 sans décimale.
/EDIT
Mmmmh, on dirait que tu as perdu de vue que j'ai pu ouvrir sans problème le tryptique de Bosch avec le viewer de Linux, Gimp et ImageMagick,
Partager