Pour la conversion bitmap->nspire il y a toujours le gros problème de l'accès au fichier: lorsque le code s'execute dans l'émulateur, il ne peut pas accéder aux fichiers qui sont sur le disque dur de l'ordinateur (le code est confiné à l'environnement créé par l'émulateur)
Par contre on pourrait peut-être essayer avec la nouvelle fonction send de l'émulateur (mais je suis assez sceptique, car cette fonction doit écrire dans la ROM créée pour l'émulateur (à vérifier), qui n'existe pas dans les programmes que l'on fait.
Pour l'instant la seule solution que je vois est d'intégrer le bitmap dans le fichier .c à la compilation (par contre c'est tout sauf dynamique). C'est assez facile à faire avec GIMP qui propose une fonction d'exportation des images en fichiers .c, et on a juste à inclure ces fichers dans la source à la compilation
a+
JayTe
[Programme C] Algorithme de traçage de pixel
-
JayTePremium
Niveau 8: ER (Espèce Rare: nerd)- Posts: 207
- Joined: 26 Jan 2010, 00:00
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Polytechnique
Re: [Programme C] Algorithme de traçage de pixel
JayTe wrote:Wow impressionant!![]()
Par contre (je sais je suis pointilleux) c'est normal les lignes horizontales noires?
/me cours demander le pack en question à geogeo![]()
a+
Merci.
Non les lignes noires ne sont pas prévues, c'est un problème d'incrément que je n'arrive pas à résoudre.
Critor Désolé, je viens de comprendre comment ça marche, en fait le tns est un fichier *.bin qui se lance sur émulateur. Il faudra attendre Ndless pour le lancer en natif.

-
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)- Posts: 6414
- Images: 22
- Joined: 27 Nov 2008, 00:00
- Location: 0x1AACC355
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: BAC+5: Epita (ING3)
Re: [Programme C] Algorithme de traçage de pixel
Problème d'écran résolu, c'était le ratio qui causait problème.
au lieu de 1.2 et -1.2 il fallait mettre 1.5 et -1.5, en fait c'et un écran 4/3
au lieu de 1.2 et -1.2 il fallait mettre 1.5 et -1.5, en fait c'et un écran 4/3

-
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)- Posts: 6414
- Images: 22
- Joined: 27 Nov 2008, 00:00
- Location: 0x1AACC355
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: BAC+5: Epita (ING3)
Re: [Programme C] Algorithme de traçage de pixel
Ok cool
Tu nous postes un nouveau screen (je peux pas encore tester
) ?

Tu nous postes un nouveau screen (je peux pas encore tester

-
JayTePremium
Niveau 8: ER (Espèce Rare: nerd)- Posts: 207
- Joined: 26 Jan 2010, 00:00
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Polytechnique
Re: [Programme C] Algorithme de traçage de pixel

intervalle : x(-2;2) y(-1.5;1.5)
-
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)- Posts: 6414
- Images: 22
- Joined: 27 Nov 2008, 00:00
- Location: 0x1AACC355
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: BAC+5: Epita (ING3)
Re: [Programme C] Algorithme de traçage de pixel
Waow... c'est beau...
J'ai trop envie de pouvoir tester ...


J'ai trop envie de pouvoir tester ...

-
JayTePremium
Niveau 8: ER (Espèce Rare: nerd)- Posts: 207
- Joined: 26 Jan 2010, 00:00
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Polytechnique
Re: [Programme C] Algorithme de traçage de pixel
JayTe wrote:Pour la conversion bitmap-nspire il y a toujours le gros problème de l'accès au fichier: lorsque le code s'execute dans l'émulateur, il ne peut pas accéder aux fichiers qui sont sur le disque dur de l'ordinateur (le code est confiné à l'environnement créé par l'émulateur
Je n'ai jamais demandé à ce que l'émulateur ou la nSpire accède directement au fichier.
Cela me semble évident qu'il faut:
- un utilitaire sur ordi pour faire la conversion
- un programme sur nSpire pour afficher l'image en niveaux de gris
-
critorAdmin
Niveau 19: CU (Créateur Universel)- Posts: 42393
- Images: 17088
- Joined: 25 Oct 2008, 00:00
- Location: Montpellier
- Gender:
- Calculator(s):→ MyCalcs profile
- YouTube: critor3000
- Twitter: critor2000
- GitHub: critor
Re: [Programme C] Algorithme de traçage de pixel
C'est vraiment très beau ..... Franchement, j'ai hâte que le "jailbreak" sorte, que j'exécute ce Mandelbrot !
MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)My calculator programs
Mes programmes pour calculatrices
-
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 14839
- Images: 1131
- Joined: 01 Jun 2007, 00:00
- Location: France
- Gender:
- Calculator(s):→ MyCalcs profile
- Twitter: adriweb
- GitHub: adriweb
Re: [Programme C] Algorithme de traçage de pixel
Bon voila, j'ai fait ce qu'avait proposé critor:
Pour convertir les images: BMPtoC. Petit prog que je viens de faire et qui (contrairement à ce que son nom laisse penser
) prend en charge tous les formats communs comme les bmp, jpg, png...
Il faut lui faire créer un fichier .c du nom de votre choix.
L'image fournie en entrée peut être de n'importe quelle taille, en niveau de gris ou en couleur, mais plus elle est grosse et plus elle sera longue à afficher.
Ensuite il faut compiler ce fichier:
On peut faire bouger l'image en appuyant sur les flèches directionnelles, et même la faire sortir de l'écran (c'est pour ça que ça marche avec des images plus grandes que l'écran de la nspire.
Au final on peut avoir quelque chose comme ça:

a+
JayTe
Pour convertir les images: BMPtoC. Petit prog que je viens de faire et qui (contrairement à ce que son nom laisse penser

Il faut lui faire créer un fichier .c du nom de votre choix.
L'image fournie en entrée peut être de n'importe quelle taille, en niveau de gris ou en couleur, mais plus elle est grosse et plus elle sera longue à afficher.
Ensuite il faut compiler ce fichier:
Show/Hide spoilerAfficher/Masquer le spoiler
photo.c
avec screen.c:
et keys.c:
- Code: Select all
#include "screen.c"
#include "keys.c"
//remplacez image.c par le nom du fichier créé par le programme BMPtoC
#include "image.c"
void dispIMG(int xoff, int yoff, unsigned char img[][256], unsigned int width, unsigned int height)
{
unsigned int i, j;
for(i = 0; i width; i ++)
{
for(j = 0; j height; j ++)
{
setPixel(xoff + i, yoff + j, img[j][i]);
}
}
}
int main()
{
int e = 0, ximg = 0, yimg = 0, t;
dispIMG(ximg, yimg, image, image_width, image_height);
while(1)
{
e = 0;
if(isKeyUpPressed())
{
yimg --;
e = 1;
}
if(isKeyDownPressed())
{
yimg ++;
e = 1;
}
if(isKeyLeftPressed())
{
ximg --;
e = 1;
}
if(isKeyRightPressed())
{
ximg ++;
e = 1;
}
if(e)
{
clrscr();
dispIMG(ximg, yimg, image, image_width, image_height);
}
}
return 0;
}
avec screen.c:
- Code: Select all
void setPixel(int x, int y, unsigned int color)
{
static unsigned char *scr = (unsigned char *) 0xa4000100;
if(x = 0 x 320 y = 0 y 240)
scr[y*160+x/2]=x1? (scr[y*160+x/2]0xF0)+color : (scr[y*160+x/2]0x0F)+(color 4);
}
void clrscr()
{
int i,j;
for(i = 0; i 320; i ++)
for(j = 0; j 240; j ++)
setPixel(i, j, 0xF);
}
et keys.c:
- Code: Select all
asm(".macro is_key_pressed row, column");
asm("ldr r0, =(0x900E0000 + row )");
asm("ldrh r0, [r0]");
asm("tst r0, column");
asm(".endm");
int isKeyLeftPressed()
{
asm("is_key_pressed 0x1e, #0b000001000000");
asm("movne r0, #0x0");
asm("moveq r0, #0x1");
}
int isKeyRightPressed()
{
asm("is_key_pressed 0x1e, #0b000000000100");
asm("movne r0, #0x0");
asm("moveq r0, #0x1");
}
int isKeyUpPressed()
{
asm("is_key_pressed 0x1e, #0b000000000001");
asm("movne r0, #0x0");
asm("moveq r0, #0x1");
}
int isKeyDownPressed()
{
asm("is_key_pressed 0x1e, #0b000000010000");
asm("movne r0, #0x0");
asm("moveq r0, #0x1");
}
On peut faire bouger l'image en appuyant sur les flèches directionnelles, et même la faire sortir de l'écran (c'est pour ça que ça marche avec des images plus grandes que l'écran de la nspire.
Au final on peut avoir quelque chose comme ça:


a+
JayTe
-
JayTePremium
Niveau 8: ER (Espèce Rare: nerd)- Posts: 207
- Joined: 26 Jan 2010, 00:00
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Polytechnique
Re: [Programme C] Algorithme de traçage de pixel
Peut-on directement mettre l'image convertie sur la calto??
La vie.
Silteplait, arrête.
Silteplait, arrête.
-
angelslife26
Niveau 7: EP (Espèce Protégée: geek)- Posts: 87
- Joined: 27 Jan 2010, 00:00
- Location: La
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: fin du lycée
Return to Native: Ndless, Linux, ...
Who is online
Users browsing this forum: ClaudeBot [spider] and 4 guests