Codage d'un petit smiley
Needix59
Messages postés
424
Date d'inscription
Statut
Membre
Dernière intervention
-
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour/Bonsoir
Je suis étudiant en 1ère SEN, notre prof nous a fait recréer le curseur de la souris à partir d'une série de code sur un bloc note. Une fois la souris créer, il nous a demander de modifier certains codes afin de comprendre le fonctionnement de ce dernier par nous même, et ainsi, à partir de la, de créer une petit smiley à la place du curseur, je ne sait pas si j'ai bien expliqué alors je vous donnes les ressources que j'ai afin de faire mon travail.
Codage du curseur :
#define pointeur_width 11
#define pointeur_height 16
#define pointeur_x_hot 0
#define pointeur_y_hot 0
static unsigned char pointeur_bits[] = {
0x01, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x3f,
0x00, 0x7f, 0x00, 0xff, 0x00, 0xff, 0x01, 0xff, 0x03, 0xff, 0x07,
0x3f, 0x00, 0x33, 0x00, 0x61, 0x00, 0x60, 0x00, 0xc0, 0x00 };
Smiley à créer (12x12px) :
J'ai déjà trouvé qu'il fallait changer les valeurs de "define pointeur_width" & "define pointeur_height" afin des le mettre à 12 pour les faire correspondre à la taille d'image du smiley
Mais pour le reste, je suis totalement bloqué, et je n'ai rien trouvé sur internet.
Je voulais donc savoir si quelqu'un serait prêt à m'aider afin de réalisé ce smiley ! :s
Merci d'avance ! :-)
PS : Les couleurs noirs et blancs sont demandé
Je suis étudiant en 1ère SEN, notre prof nous a fait recréer le curseur de la souris à partir d'une série de code sur un bloc note. Une fois la souris créer, il nous a demander de modifier certains codes afin de comprendre le fonctionnement de ce dernier par nous même, et ainsi, à partir de la, de créer une petit smiley à la place du curseur, je ne sait pas si j'ai bien expliqué alors je vous donnes les ressources que j'ai afin de faire mon travail.
Codage du curseur :
#define pointeur_width 11
#define pointeur_height 16
#define pointeur_x_hot 0
#define pointeur_y_hot 0
static unsigned char pointeur_bits[] = {
0x01, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x3f,
0x00, 0x7f, 0x00, 0xff, 0x00, 0xff, 0x01, 0xff, 0x03, 0xff, 0x07,
0x3f, 0x00, 0x33, 0x00, 0x61, 0x00, 0x60, 0x00, 0xc0, 0x00 };
Smiley à créer (12x12px) :

J'ai déjà trouvé qu'il fallait changer les valeurs de "define pointeur_width" & "define pointeur_height" afin des le mettre à 12 pour les faire correspondre à la taille d'image du smiley
Mais pour le reste, je suis totalement bloqué, et je n'ai rien trouvé sur internet.
Je voulais donc savoir si quelqu'un serait prêt à m'aider afin de réalisé ce smiley ! :s
Merci d'avance ! :-)
PS : Les couleurs noirs et blancs sont demandé
A voir également:
- Codage d'un petit smiley
- Codage ascii - Guide
- Petit l ✓ - Forum Loisirs / Divertissements
- Que veut dire le smiley :* ? - Forum Mail
- Petit 1 comme ² ✓ - Forum Bureautique
- Codage binaire - Guide
2 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonsoir, si je comprends bien, ton prof t'a expliqué qu'un programme créait l'image du curseur en partant du codage du curseur.
As-tu compris le lien entre le code et le dessin obtenu?
Que sais-tu de ce programme?
As-tu compris le lien entre le code et le dessin obtenu?
Que sais-tu de ce programme?
Non, il nous a fait recopier le code du curseur sur un bloc note
Bloc note que nous avons ensuite dû enregistré avec l'extension ".xbm" afin d'obtenir l'image du curseur
Il nous a ensuite demander de comprendre la logique du codage du curseur afin de créer le smiley ci-dessus
Mais je n'arrive pas à comprendre comment le code fonctionne :/
Bloc note que nous avons ensuite dû enregistré avec l'extension ".xbm" afin d'obtenir l'image du curseur
Il nous a ensuite demander de comprendre la logique du codage du curseur afin de créer le smiley ci-dessus
Mais je n'arrive pas à comprendre comment le code fonctionne :/
et la spécification du format xbm aussi peut aider :
https://en.wikipedia.org/wiki/X_BitMap#Format
En particulier, ce passage est très éclairant :
The image data consisted of a line of pixel values stored in a static array. Because a single bit represented each pixel (0 for white or 1 for black), each byte in the array contained the information for eight pixels, with the upper left pixel in the bitmap represented by the low bit of the first byte in the array. If the image width did not match a multiple of 8, the display mechanism ignored and discarded the extra bits in the last byte of each row.
Dal
https://en.wikipedia.org/wiki/X_BitMap#Format
En particulier, ce passage est très éclairant :
The image data consisted of a line of pixel values stored in a static array. Because a single bit represented each pixel (0 for white or 1 for black), each byte in the array contained the information for eight pixels, with the upper left pixel in the bitmap represented by the low bit of the first byte in the array. If the image width did not match a multiple of 8, the display mechanism ignored and discarded the extra bits in the last byte of each row.
Dal
autres infos utiles :
on peut convertir des chaînes de caractères représentant des valeurs binaires en entiers avec strtol (ou manuellement)
avec gcc, on peut aussi inscrire directement des valeurs littérales binaires dans du code C avec la notation 0b (extension non standard de gcc, ce n'est donc pas du C standard)
on peut convertir des chaînes de caractères représentant des valeurs binaires en entiers avec strtol (ou manuellement)
avec gcc, on peut aussi inscrire directement des valeurs littérales binaires dans du code C avec la notation 0b (extension non standard de gcc, ce n'est donc pas du C standard)