Bonjour,
Un de mes projet contiens un bug fort ennuyeux.
En gros, je cherche à calculer une image pour l'écrire (un peu style ray-tracing). Le format presque imposé et le bmp.
Or, tant que mes images sont simple, aucun problème. Mais si jamais elle devienne complexe, un "décalage" se produit. En gros, un byte supplémentaire est écrit...
Dans mon programme, je stock les données dans un float**, alloué dynamiquement. Aucun problème apparent. L'écriture des données sur le bmp ce fait de la façon suivante :
Est-ce que cela peux venir de là ? Et si oui, pourquoi ???
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 for(unsigned int i=0;i<width;++i) { for(unsigned int j=0;j<height;++j) { bmpFile.put((pixel[i][j].red<=255.?char(pixel[i][j].red):255)); bmpFile.put((pixel[i][j].green<=255.?char(pixel[i][j].green):255)); bmpFile.put((pixel[i][j].blue<=255.?char(pixel[i][j].blue):255)); } }
Merci pour votre aide >< !
[edit] precision, bmpFile est un std::ofstream
Partager