1

Comment enregistrer une image entre les coordonnées (x1,y1) et (x2,y2) en format PIC?

pour tt l'écran je c qu'il faut faire:

char img [2004];
FILE *fp;


BitmapGet (&(SCR_RECT){{0,0,159,99}}, img);
fp = fopen ("nomdefichier", "wb")
fwrite (img,2004,1,fp);
fputc (PIC_TAG, fp);
fclose (fp);


mais pour une partie???

2

FAQ de TiGCC, y'a exactement ce problement de traité, fait une recherche de SYM_ENTRY .. ca devrait coller (c pas sur ..)

3

rien ds la FAQ (j'y avé deja mis le nez dedans) et n'y sur les topic du forum (j'ai fait les 14 pages!!!)

en mettant
BitmapGet (&(SCR_RECT){{x1,y1,x2,x2}}, img);
avec x2>x1 et y2>y1 ca marche mais la taille est tjs de 2007 octets et lorsque je la change par (x2-x1)*(y2-y1)/8+4 .... plantage!


(x2-x1)*(y2-y1)/8+4 est correct a mon avis car si x1=0, y1=0,x2=160 et y2=100
160*100/8+4=2004
a moins que je me trompetsss

4

>nEUrOne:
N'importe quoi, il n'y a pas du tout ça dans la FAQ. (Il y a seulement comment lire un fichier PIC, pas comment en écrire un!)

>rdn_spe:
Tu peux réutiliser presque tout ton code:

char img [hauteur*(largeur+7)/8+4]; /* la division est en entiers, donc ce sera l'équivalent de intDiv(largeur+7,8) en TI-BASIC */
FILE *fp;

BitmapGet (&(SCR_RECT){{xmin,ymin,xmin+largeur-1,ymin+hauteur-1}}, img);
fp = fopen ("nomdefichier", "wb")
fwrite (img,hauteur*(largeur+7)/8+4,1,fp);
fputc (PIC_TAG, fp);
fclose (fp);

[edit]Edité par Kevin Kofler le 08-11-2001 à 22:15:01[/edit]
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

5

Avec tes x1, x2, y1 et y2:
char img [(y2-y1+1)*((x2-x1)/8+1)+4]; /* j'ai simplifié (y2-y1+1)*(x2-x1+1+7)/8+4 */
FILE *fp;

BitmapGet (&(SCR_RECT){{x1,y1,x2,y2}}, img);
fp = fopen ("nomdefichier", "wb")
fwrite (img,(y2-y1+1)*((x2-x1)/8+1)+4,1,fp);
fputc (PIC_TAG, fp);
fclose (fp);
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

6

c exactement ce que je voulais, ça marche parfaitement!
merci de ton aide Kevin

j'ai repris ton code avec hauteur et largeur c bien plus simple en fait
[edit]Edité par rdn_spe le 08-11-2001 à 22:34:47[/edit]

7

aRf, j'ai du lire de travers ... mourn