Gros Ennui

oRTEEZ Messages postés 81 Date d'inscription vendredi 18 juillet 2003 Statut Membre Dernière intervention 10 septembre 2003 - 1 août 2003 à 15:51
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 1 août 2003 à 16:53
Bonjour, bonsoir,

Voila mon souci, je dois faire un programme qui doit accepte un entre divers formats d'images. Puis dessiner dessus un rectangle, puis ecrire un texte dont la position et le contenu seront determiner par l'utilisateur.

J'ai pour cela une librairie qui s'occupe des conversion entre format et qui possede une classe gerant l'image et contenenant, le nom, la taille, le format de l'image, des pixels et une variable byte *rgb (byte est un #define unsigned char)
j'ai cette ligne

rgb = (byte*)new long[(RowSize() * y) / 4];

avec:
int SpImage ::RowSize()
{
int n = x * pix_size/8;
while(n%4) n++ ;
return n;
}

pix_size: taille du pixel (8 24 ou 32)

je ne comprend pas vraiment ce que fait cette ligne. Se contente telle de reserver un espace memoire pour l'image vu qu'apres jai:

if (rgb) memset (rgb, 0, y * RowSize());

Ou alors ai je mon image dans rgb.

Si oui comment faire pour tracer un trai sur cette image?

En vous remerciant.

3 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
1 août 2003 à 16:08
Ta ligne memset initialise un bloc memoire en mettant les octets sur valeur ZERO.
BruNews, ciao...
0
oRTEEZ Messages postés 81 Date d'inscription vendredi 18 juillet 2003 Statut Membre Dernière intervention 10 septembre 2003
1 août 2003 à 16:42
Ok merci, mais est ce que mon image est sous forme text dans rgb ou non?
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
1 août 2003 à 16:53
ici je ne vois que la ligne d'alloc memoire par operateur new, ensuite une func qui aligne les donnees sur 4, tres bien, et le memset final. Faudra que tu vois ce qui sera place dans ton alloc memoire pointee en *rgb, je ne suis pas devin.
BruNews, ciao...
0
Rejoignez-nous