π
<-

Dessiner avec sa TI-nspire

Pour le TI-Basic sur Nspire

Re: Dessiner avec sa TI-nspire

Unread postby JayTe » 07 Apr 2010, 12:20

Oui, mais bon la méthode de Ciwtron est quand même vachement plus simple que de devoir faire un programme à chaque fois qu'on veut un image... Et puis c'est pas mal d'avoir un truc qui fonctionne aussi sans hack, de manière "officielle" :D:

critor2000 wrote:Bientôt sur vos écrans.
= Quand? :#langue#: (ok, --[] :;): )
TabVar - Etude de fonctions sur Nspire!
Image
User avatar
JayTePremium
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Level up: 81.6%
 
Posts: 207
Joined: 26 Jan 2010, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: Polytechnique

Re: Dessiner avec sa TI-nspire

Unread postby critor » 07 Apr 2010, 14:22

JayTe wrote:Oui, mais bon la méthode de Ciwtron est quand même vachement plus simple que de devoir faire un programme à chaque fois qu'on veut un image... Et puis c'est pas mal d'avoir un truc qui fonctionne aussi sans hack, de manière "officielle" :D:



Le problème est que l'implémentation de la méthode de Ciwtron est buggée.
Et cela n'a jamais été corrigé depuis des mois...
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 47.9%
 
Posts: 41980
Images: 15866
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Dessiner avec sa TI-nspire

Unread postby Ciwtron » 07 Apr 2010, 19:30

critor2000 wrote:Le problème est que l'implémentation de la méthode de Ciwtron est buggée.
Et cela n'a jamais été corrigé depuis des mois...


C'est vrai, même plus que vrai. J'ai encore reçu un MP me disant que ça ne marche pas et je me suis excusé en long et en large^^. Mais plus que d'être buggée, elle est surtout incompréhensible pour un utilisateur lambda.

Mais vu que j'avais adoré ce projet, je suis prêt à m'y remettre.


Donc Jayte, je veux bien ton convertisseur, comme ça on va éviter que les gens qui ne savent pas faire la différence entre un bitmap couleur et N/B se trompent (ben oui, je n'ai implémenté aucune vérification de l'image alors que c'est super simple à faire en plus).

Donc vu que je suis en plein bacs blancs, je vais m'y remettre la semaine prochaine, et vu que je part en vacances après, on verra.

PS: SFML est disponible en Basic? Sincèrement, ça m'étonnerais :#gni#: .

PPS: La condition pour que je le refasse bien mon programme est que l'OS 2.0 ne me Mic-étise pas ma nspire :D: .
User avatar
Ciwtron
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 36.7%
 
Posts: 1332
Joined: 29 Nov 2009, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: 1S

Re: Dessiner avec sa TI-nspire

Unread postby jacques » 07 Apr 2010, 19:53

Ciwtron wrote:PS: SFML est disponible en Basic? Sincèrement, ça m'étonnerais :#gni#: .


Content de te voir te lancer dans l'aventure à nouveau ! :):
Sinon, SFML est disponible pour les langages suivants :
* C++
* C
* .Net (C#, VB.Net, C++/CLI, ...)
* Python
* D
* Ruby
Sublime Chevalier Elu des TI

Venez visiter mon site sur les TI : Ti Softwares !!
Jetez un coup d'œil à mes programmes pour TI !!

Vous voulez faire des super programmes pour votre TI z80 ? Alors apprenez l'Axe Parser !!
User avatar
jacques
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 14.9%
 
Posts: 2057
Images: 0
Joined: 25 Aug 2009, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: prépa PSI

Re: Dessiner avec sa TI-nspire

Unread postby JayTe » 07 Apr 2010, 20:00

Perso j'utilise la SFML principalement en C++, mais elle est aussi dispo en C, Python, Ruby... après je sais pas dans quel langage tu avais commencé ton projet...

Code source du convertisseur (C++) :
Code: Select all
#include iostream
#include fstream
#include string

#include SFML/System.hpp
#include SFML/Graphics.hpp

using namespace std;

unsigned int toGrey4(sf::Color col)      //Convertit une couleur en niveau de gris sur 4 bits
{
    unsigned int ret;
    ret = (unsigned int) (0.299 * (float) col.r + 0.587 * (float) col.g + 0.114 * (float) col.b);
    return ret / 16;
}

int main(int argc, char **argv)
{
    std::string inURL, outURL;
    sf::Image img;

    cout  "Entrez le chemin de l'image a convertir:"  endl;      //Recuperation des fichiers d'entrée /sortie
    cin  inURL;
    cout  "Entrez le chemin du fichier de sortie:"  endl;
    cin  outURL;

    if(!img.LoadFromFile(inURL.c_str()))    //Verifications sur les fichiers
    {
        cout  "Erreur: impossible d'ouvrir le fichier d'entree"  endl;
        return 0;
    }

    ifstream test(outURL.c_str(), ios::in);
    if(test)
    {
        cout  "Erreur: le fichier de sortie existe deja. Specifiez un autre nom de fichier."  endl;
        return 0;
    }

    ofstream outFile(outURL.c_str(), ios::out | ios::trunc);
    if(!outFile)
    {
        cout  "Erreur: impossible d'ouvrir le fichier de sortie"  endl;
    }

    /// Partie a changer, pour l'instant ca recupere les pixels un à un , ca les convertit en gris et ca les met dans le fichier de sortie en respectant une syntaxe C

    outFile  endl  "static unsigned int image_width = "  img.GetWidth()  ";"  endl;
    outFile  "static unsigned int image_height = "  img.GetHeight()  ";"  endl;

    outFile  "static unsigned char image["  img.GetHeight()  "]["  img.GetWidth()  "] = {"  endl;

    for(unsigned int i = 0; i  img.GetHeight(); i ++)
    {
        outFile  "{";
        for(unsigned int j = 0; j  img.GetWidth(); j ++)
        {
            sf::Color c = img.GetPixel(j, i);
            unsigned int g = toGrey4(c);
            outFile  "0x"  hex  g;
            if(j != img.GetWidth() - 1)
                outFile  ",";
        }
        outFile  "}";
        if(i != img.GetHeight() - 1)
            outFile  ",";
        outFile  endl;
    }

    outFile  "};"  endl  endl;
    outFile.close();
    return 0;
}


Ce qui est pratique c'est que la partie gestion des images est entièrement gérée par la SFML, pas besoin de s'embêter avec ça; et ça marche quelque soit la taille/le format des images
Voila, à partir de ça il faudrait que tu modifies les outputs pour que ça corresponde à la syntaxe d'un fichier xml que tu pourras mettre dans le tns, si tu as besoin de plus de détails demande-moi :):

PS: pour compiler ça il faut linker avec sfml-graphics-s sfml-window-s sfml-system-s (dans cet ordre)
TabVar - Etude de fonctions sur Nspire!
Image
User avatar
JayTePremium
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Level up: 81.6%
 
Posts: 207
Joined: 26 Jan 2010, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: Polytechnique

Re: Dessiner avec sa TI-nspire

Unread postby Ciwtron » 07 Apr 2010, 20:08

JayTe wrote:Perso j'utilise la SFML principalement en C++, mais elle est aussi dispo en C, Python, Ruby... après je sais pas dans quel langage tu avais commencé ton projet...
Ce qui est pratique c'est que la partie gestion des images est entièrement gérée par la SFML, pas besoin de s'embêter avec ça; et ça marche quelque soit la taille/le format des images
Voila, à partir de ça il faudrait que tu modifies les outputs pour que ça corresponde à la syntaxe d'un fichier xml que tu pourras mettre dans le tns, si tu as besoin de plus de détails demande-moi :):

PS: pour compiler ça il faut linker avec sfml-graphics-s sfml-window-s sfml-system-s (dans cet ordre)


Oinn, je déteste la ligne de commande :D: . Merci, dès que j'ai un peu de temps, je vais voir ce que je peux en faire. Sinon, je te rappelle juste comme ça que malheureusement, je ne peut que faire des images N/B, et pas en niveaux de gris, TI n'ayant pas implanté (à ma connaissance) un moyen de faire un point de la couleur voulue.

(J'avais commencé mon programme en basic, mas je vais essayer de me débrouiller avec le C)
User avatar
Ciwtron
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 36.7%
 
Posts: 1332
Joined: 29 Nov 2009, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: 1S

Re: Dessiner avec sa TI-nspire

Unread postby Dyar » 07 Apr 2010, 20:42

Depuis la version 2.0, on peut mettre un point ou un nuage de points en niveaux de gris.
Il y a 6 niveaux de gris possibles, si je me souvient bien...
User avatar
Dyar
Niveau 4: MC (Membre Confirmé)
Niveau 4: MC (Membre Confirmé)
Level up: 40%
 
Posts: 22
Joined: 24 Feb 2010, 00:00
Location: Clermont Ferrand
Gender: Male
Calculator(s):
MyCalcs profile
Class: MP*

Re: Dessiner avec sa TI-nspire

Unread postby Ciwtron » 07 Apr 2010, 20:46

Dyar wrote:Depuis la version 2.0, on peut définir un niveau de gris à un point ou à un nuage de points.
Il y a 6 niveaux de gris possibles, si je me souvient bien...


Nahhh, c'est vrai? :#love#: TI m'aurait écouté ou c'est vraiment venu d'eux même?


Dans je retire ce que j'ai dit, on va pouvoir faire de jolies images^^. Par contre je crois que je vais devoir refaire une belle partie de l'algorithme, parce qu'il n'est pas du tout prévu pour gérer ça.
User avatar
Ciwtron
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 36.7%
 
Posts: 1332
Joined: 29 Nov 2009, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: 1S

Re: Dessiner avec sa TI-nspire

Unread postby JayTe » 07 Apr 2010, 20:50

Ok dans ce cas, il faudra modifier un peu la fonction toGrey4 pour qu'elle retourne noir/blanc, avec quelque chose comme ça:
unsigned char toBlackWhite(sf::Color col) //Convertit une couleur en noir/blanc
{
unsigned char ret;
ret = (unsigned int) (0.299 * (float) col.r + 0.587 * (float) col.g + 0.114 * (float) col.b);
return ret 7;
}

Si tu connais la balise xml du format tns pour gérer les 6 couleurs, par contre ça va être un peu plus dur, 6 n'étant pas une puissance de 2 il faudra passer par des floats...

Sinon si tu n'as pas envie de t'embêter avec trop de lignes de commandes, je te conseille Code::Blocks comme IDE pour le C/C++, et tu n'auras pas à en taper une seule :):
TabVar - Etude de fonctions sur Nspire!
Image
User avatar
JayTePremium
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Level up: 81.6%
 
Posts: 207
Joined: 26 Jan 2010, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: Polytechnique

Re: Dessiner avec sa TI-nspire

Unread postby Ciwtron » 07 Apr 2010, 20:53

JayTe wrote:Sinon si tu n'as pas envie de t'embêter avec trop de lignes de commandes, je te conseille Code::Blocks comme IDE pour le C/C++, et tu n'auras pas à en taper une seule :):

Je l'ai déjà :): .

Donc on est parti pour faire deux version. Une version N/B quasi automatique, et une version niveaux de gris mais il va falloir faire des retouche sur la calto même. Je rappelle qu'on a malheureusement pas encore trouvé comment décrypté un tnsv1.1*.

*Non Levak, non Critor, ce n'est PAS une menace de mort à geogeo si il ne me le trouve pas pour la semaine prochaine.
User avatar
Ciwtron
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 36.7%
 
Posts: 1332
Joined: 29 Nov 2009, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: 1S

PreviousNext

Return to Nspire-Basic

Who is online

Users browsing this forum: ClaudeBot [spider] and 3 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
828 utilisateurs:
>779 invités
>43 membres
>6 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)