Vous n'êtes pas identifié.
voila je cree mon bmp et je ne met que 3 couleur. je l'enregistre en tant que bmp avec 16 couleurs et je l'appelle source. Je lance bmp3c mais dans le tableau j'ai des "?" ou bien des 2 à la plce de 0.
Hors ligne
LoL décidément t'as sauté le pas pr passer au grayscale!! T'inkiète tu le regrettras pas! C hyper simple en fait! Tu vois le menu de bomberMan (regarde le gif) ben il est fait avec bmp3c!
Tu disais ds l'autre post kil y a des bugs. En fait pas tellement...
Dc pr ton pb:
Tu reprends l'image 3deg.bmp, tu suppr ce kil y a deds et tu le remplaces par ta bmp. Ré-enregistre 3deg.bmp en source.bmp ds le rép prncipal, et le tour est joué!
Pour les afficher rien de plus simple! (reprends les routines de l'autre post), tu remplaces le ft déjà existante par un gpixel, te c bon! En espérant ke ça marche du premier coup, @+!
Hors ligne
hum ...
Ktr n' a po réfléchi bocoup pour son bmp3C
Voila on a dit qu'il y avait 3 couche en gris .
Donc 3 image avec un bit/pixel par couche(c a dire 1 octet=8pixel)
ça coutré bocoup - cher en memoire .
Regarde :
3 couche=1024*3=3072
et toi !
128*64=8192 octet pour une image !!!
Hors ligne
...5 Ko de gagnés. Mais bon, à sa place j'aurais fait un bmp3c qui code l'image ds une matrice de 128*64 en base 3, ce serait plus rapide à afficher et prendrait - de place ds le code!
Hors ligne
Et oh C T un logiciel de test..... En attendant celui de yass....
Hors ligne
Mais il est pas mal kan même, et pis KTr, si tu pouvais vite fait me filer les sources de bmp3c ce serait pas mal, au -histoire de voir la façon dont il encode...
@+!
Hors ligne
Et les voila, rien de + simple :
#include <stdio.h> #include <conio.h> FILE *source; FILE *dest; int vrsrc, vrdsth, vrdstl, stop; int main(void) { int i = 0; const char cmt[] = "/* KTr bmp3c www.ktr.fr.fm */n"; const char deb[] = "unsigned char ktrimgtab[64][128] = {n"; const char fin[] = "n};"; printf("KTr : bmp3c ver.0.1nAppuyez sur une touche"); while(getch() == 0); if((source = fopen("source.bmp", "rb")) == NULL) { printf("source.bmp inexistant"); goto fin2; } fseek (source,17,SEEK_SET); if (getc (source)!=0||getc (source)!=0x80) { printf("Mauvais fichier"); goto fin2; } dest = fopen("tableau.c", "w"); fseek(source, 0x76, SEEK_SET); clrscr(); fwrite(cmt, 1, sizeof(cmt)-1, dest); fwrite(deb, 1, sizeof(deb)-1, dest); do { if (i != 0) { fwrite(&vrdsth, 1, 1, dest); fwrite(",", 1, 1, dest); fwrite(&vrdstl, 1, 1, dest); fwrite(",", 1, 1, dest); printf("%02X->%02X, %02X, ",vrsrc, vrdsth, vrdstl); if(i%128 == 0) fwrite("n", 1, 1, dest); } vrsrc = 0; vrdsth = 0; vrdstl = 0; fread(&vrsrc, 1, 1, source); vrdsth = vrsrc / 0x10; vrdstl = vrsrc % 0x10; vrdsth += 48; vrdstl += 48; i++; if(kbhit() != 0) goto fin; stop = feof(source); }while (!stop); fseek(dest, -1, SEEK_CUR); fwrite(fin, 1, sizeof(fin)-1, dest); printf("---> Ok !!"); fin: fclose(source); fclose(dest); fin2: while(getch() == 0); return(0); }
Bon déchiffrage (G la flemme de mettre des commentaire !!)
Hors ligne