DECALER L'ENCODAGE D'UN BMP

Messages postés
229
Date d'inscription
dimanche 14 septembre 2003
Statut
Membre
Dernière intervention
20 août 2014
- - Dernière réponse : cs_neria
Messages postés
320
Date d'inscription
vendredi 21 février 2003
Statut
Membre
Dernière intervention
16 février 2009
- 8 juin 2005 à 18:58
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/31877-decaler-l-encodage-d-un-bmp

cs_neria
Messages postés
320
Date d'inscription
vendredi 21 février 2003
Statut
Membre
Dernière intervention
16 février 2009
-
Salut !

Ca me rappelle mon TPE de l'année denrière sur la compression des images numériques, j'avais justement fais un programme (en VB) qui permettait de lire (presque) tous les formats BMP (8, 16, 24 bits, N&B, RLE ...) et de les enregistrer dans ces formats, enfin il y a pleins d'application facile à réaliser avec le BMP !!!

@+ Neria
skone007
Messages postés
166
Date d'inscription
mercredi 24 avril 2002
Statut
Membre
Dernière intervention
23 juin 2009
-
shenron666 >>= Pour la reference ouaih. Mais pour le s c'est une valeur par defaut si y a rien de definie ca prenderas la valeur 1 mais rien n'interdis au programmeur de mettre un 0.

neria >>= Ca a pas vraiment la pretention je sais pas ta deja coder un truc vraiment utile et utiliser par tous maintenant et reconnu comme une reference ? Non plus serieusement c'est juste pour un TPE sur le cryptage lol donc voilà on permute les bits dans un octets...

Ca peut pas couper une image au passage ;) parce que c'est le rouge le vert et le bleu qu'on permute un a un ...
hackademius
Messages postés
172
Date d'inscription
mercredi 29 janvier 2003
Statut
Membre
Dernière intervention
24 février 2008
-
ou alors a brouiller la photo pour que l'on ne la reconnaisse plus ? peut etre
hackademius
Messages postés
172
Date d'inscription
mercredi 29 janvier 2003
Statut
Membre
Dernière intervention
24 février 2008
-
oaui , bonne question , ca sert a quoi ? de decaler les bits ? ca coupe en 2 la photo et met la partie de droite a gauche ? ou koi ?
cs_neria
Messages postés
320
Date d'inscription
vendredi 21 février 2003
Statut
Membre
Dernière intervention
16 février 2009
-
Une question : ça sert à quoi ???
shenron666
Messages postés
229
Date d'inscription
dimanche 14 septembre 2003
Statut
Membre
Dernière intervention
20 août 2014
-
j'oublie un truc, les décalages de bits négatifs c'est pas terrible, k devrait plutot être unsigned je pense
shenron666
Messages postés
229
Date d'inscription
dimanche 14 septembre 2003
Statut
Membre
Dernière intervention
20 août 2014
-
Amusant comme source :-)
par contre il y a kkes problèmes dans Decal_bit.cpp :
CDecal_bit::dbit :
if(s = 1) // toujours vrai, c'est pas un test ^__^
faute de frappe ?

paramètre (unsigned char& c...
tu passes une référence, donc si on modifie c, on modifie la source, tu devrais sois mettre (const unsigned char& c...
sois ne pas retourner de valeur et modifier c

en fait tu fais de la rotation de bits sur des octets
si je puis me permettre, tu aurais pu faire une seule fonction pour la rotation :

// Decalage en fonction de s (s = 1 a droite sinon a gauche)
unsigned char CDecal_bit::dbit(const unsigned char &c, bool s, int k)
{
k %= 8; // k doit être compris entre 0 et 7 inclus (me suis pas trompé là ;p)
if(s 0) // rotation à gauche rotation à droite de 8 - k
k = 8 - k;
return dbitd(c, k);
}

// Decalage bit droite
unsigned char CDecal_bit::dbitd(const unsigned char &c, int k = 1)
{
return (c >> k) | (c << (8 - k));
}