limmt Le 10/03/2004 à 19:34 tu fé comment pour voir ce qu'il y a dans fichier?

Wenn ich morgen meinem Gott gegenübertrete, kann ich ihm sagen: "Ich bin unschuldig, ich hab' niemandem etwas getan - außer mir selben" Und das verzeiht er mir offentlich !
Falco - Hans Hölzel 1957 - 1998
RIP
Attentio, "rt" ouvre un fichier TEXT (->t) en lecture "r" seule.
(et tu peux tester si File==NULL ou pas... comme ça tu sauras au moins si c'est qu'il n'a pas trouvé le fichier ou bien s'il est vraiment vide)
« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)
neria Le 11/03/2004 à 18:12 Salut tous le monde !
En fait je teste si Fichier==Null, mais je pensais que ce n'était pas la peine de mettre ce code ici. Dailleurs c'est à cet endroit que ca plante et qu'il me dit qu'il y a une erreur. En tout cas le fichier il y est c'est sur !
@+ Neria
neria Le 12/03/2004 à 19:24 Voila le code, mais le reste n'est pas très interessant, c'est pour traîter une image envoyée depuis le PC :
// Main Function
void _main(void)
{
int i, a, Couleur ;
int top, left, height, width ;
int repet ;
const char *Chemin ;
FILE *Fichier ;
ESI Arguments = top_estack ;
InitArgPtr(Arguments) ;
//Si ce n'est pas un argument de type texte, quitte
if ( GetArgType(Arguments) != STR_TAG )
{
ST_showHelp ("Erreur d'argument") ;
ngetchx() ;
return ;
}
Chemin = GetStrnArg(Arguments) ;
clrscr() ;
printf("%s",Chemin) ;
ngetchx() ;
clrscr() ;
//Récupère le chemin de l'image
Fichier = fopen(Chemin,"rt") ;
//S'il y a un prob l'affiche et quitte
if ( Fichier == NULL )
{
clrscr() ;
ST_showHelp ("Fichier introuvable") ;
ngetchx() ;
return ;
}
//Récupère la taille de l'image
top = getc(Fichier) ;
left = getc(Fichier) ;
height = getc(Fichier) ;
width = getc(Fichier) ;
...
Voila tout !
@+Neria
neria Le 12/03/2004 à 19:44 Salut !
Oui, l'image est stocké sous forme d'octets et à une compression RLE basique : 1 octet pour le nombre de répétitions et 1 octet pour la couleur ( 4 actuellement ). L'ecran est limité à 160 pixels de large donc la un octet ( <= 255 ) pour chacun suffit.
Mais je viens de résoudre le problème : en fait il fallait ne mettre qu'un seul antislash pour le nom de fichier ! Il y a des fois où on se trouve con !
Au fait quelqu'un sait comment utiliser la libraire Gray7Lib sous une Ti89 HW2 ??? J'ai encore beaucoup de problème, mais merci à tous ceux qui m'on répondu !
@+ Neria
neria Le 13/03/2004 à 08:44 Salut !
Merci beaucoup pour toutes ces infos !!! Ta librairie est géniale !!! Continue comme ca tu fait de l'excellent boulot !
@+ Neria
Uther Le 13/03/2004 à 12:32 ou si tu tient a utiliser la lib dynamique utile la fonction 7gray de graphlib plustôt que celle de gray7lib.
il ne parlait pas de gray4lib, mais de graphlib ...

<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)
<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant
neria Le 13/03/2004 à 13:47 Salut !
Il y a juste des commentaires en plus dans mon fichier Graphlib :
graphlib::memtoscr equ graphlib@000A
;--------------------------------------------------------------
;memtoscr(x,y,lenght,width,handle)
;
;This function copies a handle in memory to screen.
;
;Input: d0.w = X of top left-hand corner in bytes(0<X<30)
; d1.w = Y of top left-hand corner (0<Y<128)
; d2.w = width in bytes (0<d2<30)
; d3.w = height (0<d3<128)
; d4.w = handle previously created by memtoscr(containing the
; part of the screen to restore)
;
;Output:nothing
; NO REGISTERS DESTROYED
;--------------------------------------------------------------
Il ne veut pas compiler quand je l'inclus dans le projet.
@+ Neria
tu veux faire quoi avec graphlib ?

<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)
<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant
Si tu as une HW2, oublie, les 7 gris sont très instables.
neria Le 13/03/2004 à 16:01 Salut !
Oui je sais, déja les 4 ca clignotait pas mal. Je n'ai pas encore fait de test avec les 7 sur ma machine, mais de toute facon c'est juste pour apprendre nà me servir de GraphLib !
@+ Neria
neria Le 13/03/2004 à 16:40 Salut !
J'ai testé les 8 niveaux de gris avec VTI ( et la lib de Kevin ), mais ca clignote pas mal, tandis que c'est nikel avec les 7.
@+ Neria
Pourtant les 7 niveaux de gris ont tendance à réaliser des motifs sur l'écran.
Je te conseille de tester également sur une calculette réelle pour tout ce qui est graphique

<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)
<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant
neria Le 13/03/2004 à 17:12 Salut !
C'est vraie que en 7 niveaux de gris, ca crée des motifs. Je l'ai passé en 8, mais ca clignote beaucoup, c'est l'inverse sur l'emulateur. Est-ce que ca clignote autant sur HW1 ?
@+ Neria
Si je ne me trompe pas, les "motifs" qui apparaissent avec les 7 nvg sont dus au fait que la routine n'attend pas le basculement du FS sur HW2 (ou pas correctement), alors que les autres oui.
Essaye GrayAdjust pour voir. Ca devrait pouvoir diminuer les motifs, mais aussi les augmenter si le réglage est mauvais. Sinon fais GrayAdjust(-28) sur TI89, et monte le contraste. Le clignotement sera atténué (et optionnellement l'écran faiblira moins en cas de tramage horizontal/diagonal).
La différence de clignotement sur VTI est certainement liée au fait que VTI regroupe les frames par 3 et fait la moyenne (parce qu'en 4 niveaux de gris, la périodicité des alternances de plans est de 3). En 7 niveau de gris, la périodicité est de 6, donc ça ne clignote pas énormément (il y a juste alternance de 2 frames relativement proches), alors qu'en 8 niveaux de gris, elle est de 7, qui est premier avec 3, donc ça clignote bcp plus...
« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)
En même temps, la fréquence de raffraîchissement de la VTI n'est pas vraiment très grande... (20 Hz?)
Sinon GrayAdjust(-28) améliore beaucoup le clignotement, cependant il fait diminuer le temps processeur disponible au programme... (environ 10% il me semble). En plus de ça, le contraste entre les niveaux de gris augmente sensiblement.
neria Le 13/03/2004 à 17:44 Salut !
J'ai mis GrayAdjust à -28, ca améliore un peu les clignotements. Pour ce qui du temps dispo pour le processeur, ce n'est pas un problème car mon programme ne fait qu'afficher une image et attent qu'on appuie sur un bouton pour quitter. Vous pensez qu'avec un OS on pourrait supprimer les clignotements, ou en utilisant une autre lib par exemple ?
@+ Neria