π
<-

TI-Nspire Image Converter 3

Pour le TI-Basic sur Nspire

Re: TI-Nspire Image Converter 3

Unread postby Levak » 16 Nov 2010, 00:05

Excale wrote:
Levak wrote:edit : par contre ça j'ai un doute : for (int j = 1 ; i = 31 ; i++)

En Basic j'aurais écrit: for i,1,31 step 1


Alors pourquoi tu initialises un j ? C'est un i que tu veux, sinon, le i il vaut déjà une certaine valeur non ?
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

Re: TI-Nspire Image Converter 3

Unread postby Excale » 16 Nov 2010, 00:19

Levak wrote:Alors pourquoi tu initialises un j ? C'est un i que tu veux, sinon, le i il vaut déjà une certaine valeur non ?


Pour strictement rien. Merci.

for (int j = 1 ; j .

Pareil pour la boucle k d'ailleurs

Je crois que je vais éviter d'utiliser des lettres qui se ressemblent autant.

(En cours de math j'ai banni les suites V(n), sinon je les confonds toujours avec U(n).)


EDIT: ...


EDIT2: Ca donne un truc moins moche en xml , je cours tester ça.

EDIT3: Non, ça passe pas. Je regarderais le xml en détail demain, fatigué moi :D: .

EDIT4: Je pense qu'il faut que je trouve la fonction pour remettre le curseur au premier octet dans un fichier.

EDIT5: Maintenant ça donne ça:

Code: Select all
#include iostream
#include fstream
#include string

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

using namespace std;

void BMPXML()
{
    ofstream xmlfile("Problem1.xml", ios::out | ios::trunc);  //déclaration du flux et ouverture du fichier
    ifstream bmpfile("converted.bmp", ios::in);  // on ouvre le fichier en lecture

    if(bmpfile  xmlfile)  // si l'ouverture a réussi
        {
            char poubelle;
            char bmpbrut;
            xmlfile  "?xml version=""1.0"" encoding=""UTF-8"" ?prob xmlns=""urn:TI.Problem"" ver=""1.0""syme t=""1"" f=""0""nx1/nv{";

            for (int i = 0 ; i  54 ; i++) { bmpfile.get(poubelle); }

            for (int i = 1 ; i = 7 ; i++)
            {
                if (i1)
                {
                    xmlfile  "-1}/v/ee t=""1"" f=""0""nx"  i  "/nv{";
                }
                for (int j = 1 ; j = 31 ; j++)
                {
                    for (int k = 1 ; k = 318 ; k++)
                    {
                        if (bmpfile.get(poubelle)  bmpfile.get(poubelle)  bmpfile.get(bmpbrut))
                        {
                            if (bmpbrut==0)
                            {
                                xmlfile  k  ",";
                            }
                        }
                    }
                    bmpfile.get(poubelle);
                    bmpfile.get(poubelle);
                }
            }
            bmpfile.close();  // on referme le fichier
        }
        else
                cerr  "Erreur à l'ouverture !"  endl;

    // Partie II
    ifstream bmp2file("converted.bmp", ios::in);  // on ouvre le fichier en lecture
    if(bmp2file  xmlfile)  // si l'ouverture a réussi
        {
            char poubelle;
            char bmpbrut;
            xmlfile  "-1}/v/ee t=""1"" f=""0""ny1/nv{";

            for (int i = 0 ; i  54 ; i++) { bmpfile.get(poubelle); }
            for (int i = 1 ; i = 6 ; i++)
            {
                if (i0)
                {
                    xmlfile  "-1}/v/ee t=""1"" f=""0""ny"  (i + 1)  "/nv{";
                }
                for (int j = 1 ; j = 31 ; j++)
                {
                    for (int k = 1 ; k = 318 ; k++)
                    {
                        if (bmpfile.get(poubelle)  bmpfile.get(poubelle)  bmpfile.get(bmpbrut))
                        {
                            if (bmpbrut==0)
                            {
                                xmlfile  (j + (i * 31))  ",";
                            }
                        }
                    }
                    bmpfile.get(poubelle);
                    bmpfile.get(poubelle);
                }
            }
            xmlfile  "-1}/v/e/symcard clay=""0"" h1=""10000"" h2=""10000"" w1=""10000"" w2=""10000""flag0/flagwdgt xmlns:gg=""urn:TI.GeoGrapher"" type=""TI.GeoGrapher"" ver=""1.0""gg:mFlags2048/gg:mFlagsgg:value1/gg:valuegg:anim_x10/gg:anim_xgg:anim_y35/gg:anim_ygg:figgg:ver3/gg:vergg:objsgg:axes_systemgg:id1/gg:idgg:axes_p/gg:axes_pgg:xorg50/gg:xorggg:yorg50/gg:yorggg:xuni0.34185/gg:xunigg:yuni0.34185/gg:yunigg:xmin-20/gg:xmingg:xmax20/gg:xmaxgg:ymin-10/gg:ymingg:ymax10/gg:ymaxgg:acol0/gg:acolgg:aast0/gg:aastgg:aazm4/gg:aazmgg:apth0/gg:apthgg:asho1/gg:ashogg:lbl/gg:lblgg:stat0/gg:stat/gg:axes_systemgg:axisgg:id2/gg:idgg:par1 /gg:pargg:xaxis/gg:xaxisgg:smrt2/gg:smrtgg:sm1-6.837/gg:sm1gg:sm26.837/gg:sm2gg:alco0/gg:alcogg:acst0/gg:acstgg:apst0/gg:apstgg:apth0/gg:apthgg:asho1/gg:ashogg:ales0/gg:alesgg:lblx/gg:lblgg:stat16/gg:stat/gg:axisgg:labelgg:id3/gg:idgg:par2 /gg:pargg:lbl_agg:t0.5/gg:tgg:dx0/gg:dxgg:dy0/gg:dy/gg:lbl_agg:chrs1 1 3 0 0 0 x/gg:chrsgg:deta0/gg:detagg:atta1/gg:attagg:x57.41200005/gg:xgg:y50.42499995/gg:ygg:atco0/gg:atcogg:afon0/gg:afongg:asho1/gg:ashogg:lbl/gg:lblgg:stat0/gg:stat/gg:labelgg:axisgg:id4/gg:idgg:par1 /gg:pargg:yaxis/gg:yaxisgg:smrt2/gg:smrtgg:sm1-3.4185/gg:sm1gg:sm23.4185/gg:sm2gg:alco0/gg:alcogg:acst0/gg:acstgg:apst0/gg:apstgg:apth0/gg:apthgg:asho1/gg:ashogg:ales0/gg:alesgg:lbly/gg:lblgg:stat16/gg:stat/gg:axisgg:labelgg:id5/gg:idgg:par4 /gg:pargg:lbl_agg:t0.5/gg:tgg:dx0/gg:dxgg:dy0/gg:dy/gg:lbl_agg:chrs1 1 3 0 0 0 y/gg:chrsgg:deta0/gg:detagg:atta1/gg:attagg:x49.82500005/gg:xgg:y54.59349995/gg:ygg:atco0/gg:atcogg:afon0/gg:afongg:asho1/gg:ashogg:lbl/gg:lblgg:stat0/gg:stat/gg:labelgg:gridgg:id6/gg:idgg:par1 /gg:pargg:grid_as/gg:grid_asgg:acol10066329/gg:acolgg:agst0/gg:agstgg:apth0/gg:apthgg:asho0/gg:ashogg:lbl/gg:lblgg:stat16/gg:stat/gg:gridgg:expressiongg:id7/gg:idgg:r_expr/gg:r_exprgg:expr{x1,y1}/gg:exprgg:prms/gg:prmsgg:lbls1/gg:lblgg:stat73744/gg:stat/gg:expressiongg:scatter_plotgg:id8/gg:idgg:par7 1 /gg:pargg:scat_e/gg:scat_egg:acol0/gg:acolgg:asho1/gg:ashogg:adst6/gg:adstgg:adcn0/gg:adcngg:apac-255 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 /gg:apacgg:lbl/gg:lblgg:stat0/gg:stat/gg:scatter_plotgg:expressiongg:id9/gg:idgg:r_expr/gg:r_exprgg:expr{x2,y2}/gg:exprgg:prms/gg:prmsgg:lbls2/gg:lblgg:stat73744/gg:stat/gg:expressiongg:scatter_plotgg:id10/gg:idgg:par9 1 /gg:pargg:scat_e/gg:scat_egg:acol0/gg:acolgg:asho1/gg:ashogg:adst6/gg:adstgg:adcn0/gg:adcngg:apac-255 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 /gg:apacgg:lbl/gg:lblgg:stat0/gg:stat/gg:scatter_plotgg:expressiongg:id11/gg:idgg:r_expr/gg:r_exprgg:expr{x3,y3}/gg:exprgg:prms/gg:prmsgg:lbls3/gg:lblgg:stat73744/gg:stat/gg:expressiongg:scatter_plotgg:id12/gg:idgg:par11 1 /gg:pargg:scat_e/gg:scat_egg:acol0/gg:acolgg:asho1/gg:ashogg:adst6/gg:adstgg:adcn0/gg:adcngg:apac-255 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 /gg:apacgg:lbl/gg:lblgg:stat0/gg:stat/gg:scatter_plotgg:expressiongg:id13/gg:idgg:r_expr/gg:r_exprgg:expr{x4,y4}/gg:exprgg:prms/gg:prmsgg:lbls4/gg:lblgg:stat73744/gg:stat/gg:expressiongg:scatter_plotgg:id14/gg:idgg:par13 1 /gg:pargg:scat_e/gg:scat_egg:acol0/gg:acolgg:asho1/gg:ashogg:adst6/gg:adstgg:adcn0/gg:adcngg:apac-255 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 /gg:apacgg:lbl/gg:lblgg:stat0/gg:stat/gg:scatter_plotgg:expressiongg:id15/gg:idgg:r_expr/gg:r_exprgg:expr{x5,y5}/gg:exprgg:prms/gg:prmsgg:lbls5/gg:lblgg:stat73744/gg:stat/gg:expressiongg:scatter_plotgg:id16/gg:idgg:par15 1 /gg:pargg:scat_e/gg:scat_egg:acol0/gg:acolgg:asho1/gg:ashogg:adst6/gg:adstgg:adcn0/gg:adcngg:apac-255 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 /gg:apacgg:lbl/gg:lblgg:stat0/gg:stat/gg:scatter_plotgg:expressiongg:id17/gg:idgg:r_expr/gg:r_exprgg:expr{x6,y6}/gg:exprgg:prms/gg:prmsgg:lbls6/gg:lblgg:stat73744/gg:stat/gg:expressiongg:scatter_plotgg:id18/gg:idgg:par17 1 /gg:pargg:scat_e/gg:scat_egg:acol0/gg:acolgg:asho1/gg:ashogg:adst6/gg:adstgg:adcn0/gg:adcngg:apac-255 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 /gg:apacgg:lbl/gg:lblgg:stat0/gg:stat/gg:scatter_plotgg:expressiongg:id19/gg:idgg:r_expr/gg:r_exprgg:expr{x7,y7}/gg:exprgg:prms/gg:prmsgg:lbls7/gg:lblgg:stat73744/gg:stat/gg:expressiongg:scatter_plotgg:id20/gg:idgg:par19 1 /gg:pargg:scat_e/gg:scat_egg:acol0/gg:acolgg:asho1/gg:ashogg:adst6/gg:adstgg:adcn0/gg:adcngg:apac-255 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 /gg:apacgg:lbl/gg:lblgg:stat0/gg:stat/gg:scatter_plot/gg:objsgg:toolgg:ToolGraphergg:vis0/gg:visgg:dhs/gg:dhsgg:phs/gg:phsgg:shs*s1**s2**s3**s4**s5**s6**s7*/gg:shs/gg:ToolGraphergg:ToolScalegg:len20/gg:lengg:vis0/gg:vis/gg:ToolScale/gg:toolgg:anim1/gg:animgg:w100/gg:wgg:h100/gg:hgg:vpx42.05/gg:vpxgg:vpy54.6/gg:vpygg:geos1/gg:geosgg:geoucm/gg:geou/gg:fig/wdgt/card/prob";
            bmpfile.close();  // on referme le fichier
        }
        else
                cerr  "Erreur à l'ouverture !"  endl;


    xmlfile.close();  // on referme le fichier
}




unsigned int toGrey1(sf::Color col)
{
    unsigned char ret;
    ret = (unsigned int) (0.299 * (float) col.r + 0.587 * (float) col.g + 0.114 * (float) col.b);
    return ret  7;
}

unsigned int round(float x)
{
    unsigned int ret = (unsigned int) x;
    if(x - (float) ret = 0.5)
        ret ++;
    return ret;
}

int main(int argc, char **argv)
{
    if(argc != 2)
    {
        cout  "Converts an image into a BW 318*212 24bpp BMP"  endl;
        cout  "Usage: IMG2BMP input_file"  endl;
        return 0;
    }

    sf::Image img, dst;
    float xFactor, yFactor;
    if(!img.LoadFromFile(argv[1]))
    {
        cout  "Erreur: impossible d'ouvrir le fichier d'entree: ""  argv[2]  """  endl;
        return 0;
    }
    xFactor = img.GetWidth() / 318.f;
    yFactor = img.GetHeight() / 212.f;
    dst.Create(318,212, sf::Color::White);
    for(unsigned int i = 0; i  318; i ++)
        for(unsigned int j = 0; j  212; j ++)
            dst.SetPixel(i, j, toGrey1(img.GetPixel(round((float)i * xFactor), round((float) j * yFactor))) ? sf::Color::White : sf::Color::Black);
    dst.SaveToFile("./converted.bmp");
    BMPXML();
    return 0;
}
User avatar
ExcaleAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 3.9%
 
Posts: 2955
Images: 3
Joined: 10 Sep 2010, 00:00
Gender: Male
Calculator(s):
MyCalcs profile

Re: TI-Nspire Image Converter 3

Unread postby Excale » 16 Nov 2010, 21:58

Voilà, enfin un code qui marche.

Encore merci à Levak.

Code: Select all
#include iostream
#include fstream
#include string

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

using namespace std;

void BMPXML()
{
    ofstream xmlfile("Problem1.xml", ios::out | ios::trunc);  //déclaration du flux et ouverture du fichier
    ifstream bmpfile("converted.bmp", ios::in);  // on ouvre le fichier en lecture

    if(bmpfile  xmlfile)  // si l'ouverture a réussi
        {
            char poubelle;
            char bmpbrut;
            xmlfile  "?xml version="1.0" encoding="UTF-8" ?prob xmlns="urn:TI.Problem" ver="1.0"syme t="1" f="0"nx1/nv{";

            for (int i = 0 ; i  54 ; i++) { bmpfile.get(poubelle); }

            for (int i = 1 ; i = 7 ; i++)
            {
                if (i1)
                {
                    xmlfile  "-1}/v/ee t="1" f="0"nx"  i  "/nv{";
                }
                for (int j = 1 ; j = 31 ; j++)
                {
                    for (int k = 1 ; k = 318 ; k++)
                    {
                        if (bmpfile.get(poubelle)  bmpfile.get(poubelle)  bmpfile.get(bmpbrut))
                        {
                            if (bmpbrut==0)
                            {
                                xmlfile  k  ",";
                            }
                        }
                    }
                    bmpfile.get(poubelle);
                    bmpfile.get(poubelle);
                }
            }
            bmpfile.close();  // on referme le fichier
        }
        else
                cerr  "Erreur à l'ouverture !"  endl;

    // Partie II
    ifstream bmp2file("converted.bmp", ios::in);  // on ouvre le fichier en lecture
    if(bmp2file  xmlfile)  // si l'ouverture a réussi
        {
            char poubelle;
            char bmpbrut;
            xmlfile  "-1}/v/ee t="1" f="0"ny1/nv{";

            for (int i = 0 ; i  54 ; i++) { bmp2file.get(poubelle); }
            for (int i = 0 ; i = 6 ; i++)
            {
                if (i0)
                {
                    xmlfile  "-1}/v/ee t="1" f="0"ny"  (i + 1)  "/nv{";
                }
                for (int j = 1 ; j = 31 ; j++)
                {
                    for (int k = 1 ; k = 318 ; k++)
                    {
                        if (bmp2file.get(poubelle)  bmp2file.get(poubelle)  bmp2file.get(bmpbrut))
                        {
                            if (bmpbrut==0)
                            {
                                xmlfile  (j + (i * 31))  ",";
                            }
                        }
                    }
                    bmp2file.get(poubelle);
                    bmp2file.get(poubelle);
                }
            }
            xmlfile  "-1}/v/e/symcard clay="0" h1="10000" h2="10000" w1="10000" w2="10000"flag0/flagwdgt xmlns:gg="urn:TI.GeoGrapher" type="TI.GeoGrapher" ver="1.0"gg:mFlags2048/gg:mFlagsgg:value1/gg:valuegg:anim_x10/gg:anim_xgg:anim_y35/gg:anim_ygg:figgg:ver3/gg:vergg:objsgg:axes_systemgg:id1/gg:idgg:axes_p/gg:axes_pgg:xorg50/gg:xorggg:yorg50/gg:yorggg:xuni0.34185/gg:xunigg:yuni0.34185/gg:yunigg:xmin-20/gg:xmingg:xmax20/gg:xmaxgg:ymin-10/gg:ymingg:ymax10/gg:ymaxgg:acol0/gg:acolgg:aast0/gg:aastgg:aazm4/gg:aazmgg:apth0/gg:apthgg:asho1/gg:ashogg:lbl/gg:lblgg:stat0/gg:stat/gg:axes_systemgg:axisgg:id2/gg:idgg:par1 /gg:pargg:xaxis/gg:xaxisgg:smrt2/gg:smrtgg:sm1-6.837/gg:sm1gg:sm26.837/gg:sm2gg:alco0/gg:alcogg:acst0/gg:acstgg:apst0/gg:apstgg:apth0/gg:apthgg:asho1/gg:ashogg:ales0/gg:alesgg:lblx/gg:lblgg:stat16/gg:stat/gg:axisgg:labelgg:id3/gg:idgg:par2 /gg:pargg:lbl_agg:t0.5/gg:tgg:dx0/gg:dxgg:dy0/gg:dy/gg:lbl_agg:chrs1 1 3 0 0 0 x/gg:chrsgg:deta0/gg:detagg:atta1/gg:attagg:x57.41200005/gg:xgg:y50.42499995/gg:ygg:atco0/gg:atcogg:afon0/gg:afongg:asho1/gg:ashogg:lbl/gg:lblgg:stat0/gg:stat/gg:labelgg:axisgg:id4/gg:idgg:par1 /gg:pargg:yaxis/gg:yaxisgg:smrt2/gg:smrtgg:sm1-3.4185/gg:sm1gg:sm23.4185/gg:sm2gg:alco0/gg:alcogg:acst0/gg:acstgg:apst0/gg:apstgg:apth0/gg:apthgg:asho1/gg:ashogg:ales0/gg:alesgg:lbly/gg:lblgg:stat16/gg:stat/gg:axisgg:labelgg:id5/gg:idgg:par4 /gg:pargg:lbl_agg:t0.5/gg:tgg:dx0/gg:dxgg:dy0/gg:dy/gg:lbl_agg:chrs1 1 3 0 0 0 y/gg:chrsgg:deta0/gg:detagg:atta1/gg:attagg:x49.82500005/gg:xgg:y54.59349995/gg:ygg:atco0/gg:atcogg:afon0/gg:afongg:asho1/gg:ashogg:lbl/gg:lblgg:stat0/gg:stat/gg:labelgg:gridgg:id6/gg:idgg:par1 /gg:pargg:grid_as/gg:grid_asgg:acol10066329/gg:acolgg:agst0/gg:agstgg:apth0/gg:apthgg:asho0/gg:ashogg:lbl/gg:lblgg:stat16/gg:stat/gg:gridgg:expressiongg:id7/gg:idgg:r_expr/gg:r_exprgg:expr{x1,y1}/gg:exprgg:prms/gg:prmsgg:lbls1/gg:lblgg:stat73744/gg:stat/gg:expressiongg:scatter_plotgg:id8/gg:idgg:par7 1 /gg:pargg:scat_e/gg:scat_egg:acol0/gg:acolgg:asho1/gg:ashogg:adst6/gg:adstgg:adcn0/gg:adcngg:apac-255 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 /gg:apacgg:lbl/gg:lblgg:stat0/gg:stat/gg:scatter_plotgg:expressiongg:id9/gg:idgg:r_expr/gg:r_exprgg:expr{x2,y2}/gg:exprgg:prms/gg:prmsgg:lbls2/gg:lblgg:stat73744/gg:stat/gg:expressiongg:scatter_plotgg:id10/gg:idgg:par9 1 /gg:pargg:scat_e/gg:scat_egg:acol0/gg:acolgg:asho1/gg:ashogg:adst6/gg:adstgg:adcn0/gg:adcngg:apac-255 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 /gg:apacgg:lbl/gg:lblgg:stat0/gg:stat/gg:scatter_plotgg:expressiongg:id11/gg:idgg:r_expr/gg:r_exprgg:expr{x3,y3}/gg:exprgg:prms/gg:prmsgg:lbls3/gg:lblgg:stat73744/gg:stat/gg:expressiongg:scatter_plotgg:id12/gg:idgg:par11 1 /gg:pargg:scat_e/gg:scat_egg:acol0/gg:acolgg:asho1/gg:ashogg:adst6/gg:adstgg:adcn0/gg:adcngg:apac-255 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 /gg:apacgg:lbl/gg:lblgg:stat0/gg:stat/gg:scatter_plotgg:expressiongg:id13/gg:idgg:r_expr/gg:r_exprgg:expr{x4,y4}/gg:exprgg:prms/gg:prmsgg:lbls4/gg:lblgg:stat73744/gg:stat/gg:expressiongg:scatter_plotgg:id14/gg:idgg:par13 1 /gg:pargg:scat_e/gg:scat_egg:acol0/gg:acolgg:asho1/gg:ashogg:adst6/gg:adstgg:adcn0/gg:adcngg:apac-255 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 /gg:apacgg:lbl/gg:lblgg:stat0/gg:stat/gg:scatter_plotgg:expressiongg:id15/gg:idgg:r_expr/gg:r_exprgg:expr{x5,y5}/gg:exprgg:prms/gg:prmsgg:lbls5/gg:lblgg:stat73744/gg:stat/gg:expressiongg:scatter_plotgg:id16/gg:idgg:par15 1 /gg:pargg:scat_e/gg:scat_egg:acol0/gg:acolgg:asho1/gg:ashogg:adst6/gg:adstgg:adcn0/gg:adcngg:apac-255 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 /gg:apacgg:lbl/gg:lblgg:stat0/gg:stat/gg:scatter_plotgg:expressiongg:id17/gg:idgg:r_expr/gg:r_exprgg:expr{x6,y6}/gg:exprgg:prms/gg:prmsgg:lbls6/gg:lblgg:stat73744/gg:stat/gg:expressiongg:scatter_plotgg:id18/gg:idgg:par17 1 /gg:pargg:scat_e/gg:scat_egg:acol0/gg:acolgg:asho1/gg:ashogg:adst6/gg:adstgg:adcn0/gg:adcngg:apac-255 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 /gg:apacgg:lbl/gg:lblgg:stat0/gg:stat/gg:scatter_plotgg:expressiongg:id19/gg:idgg:r_expr/gg:r_exprgg:expr{x7,y7}/gg:exprgg:prms/gg:prmsgg:lbls7/gg:lblgg:stat73744/gg:stat/gg:expressiongg:scatter_plotgg:id20/gg:idgg:par19 1 /gg:pargg:scat_e/gg:scat_egg:acol0/gg:acolgg:asho1/gg:ashogg:adst6/gg:adstgg:adcn0/gg:adcngg:apac-255 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 /gg:apacgg:lbl/gg:lblgg:stat0/gg:stat/gg:scatter_plot/gg:objsgg:toolgg:ToolGraphergg:vis0/gg:visgg:dhs/gg:dhsgg:phs/gg:phsgg:shs*s1**s2**s3**s4**s5**s6**s7*/gg:shs/gg:ToolGraphergg:ToolScalegg:len20/gg:lengg:vis0/gg:vis/gg:ToolScale/gg:toolgg:anim1/gg:animgg:w100/gg:wgg:h100/gg:hgg:vpx42.05/gg:vpxgg:vpy54.6/gg:vpygg:geos1/gg:geosgg:geoucm/gg:geou/gg:fig/wdgt/card/prob";
            bmp2file.close();  // on referme le fichier
        }
        else
                cerr  "Erreur à l'ouverture !"  endl;


    xmlfile.close();  // on referme le fichier
}




unsigned int toGrey1(sf::Color col)
{
    unsigned char ret;
    ret = (unsigned int) (0.299 * (float) col.r + 0.587 * (float) col.g + 0.114 * (float) col.b);
    return ret  7;
}

unsigned int round(float x)
{
    unsigned int ret = (unsigned int) x;
    if(x - (float) ret = 0.5)
        ret ++;
    return ret;
}

int main(int argc, char **argv)
{
    if(argc != 2)
    {
        cout  "Converts an image into a BW 318*212 24bpp BMP"  endl;
        cout  "Usage: IMG2BMP input_file"  endl;
        return 0;
    }

    sf::Image img, dst;
    float xFactor, yFactor;
    if(!img.LoadFromFile(argv[1]))
    {
        cout  "Erreur: impossible d'ouvrir le fichier d'entree: ""  argv[2]  """  endl;
        return 0;
    }
    xFactor = img.GetWidth() / 318.f;
    yFactor = img.GetHeight() / 212.f;
    dst.Create(318,212, sf::Color::White);
    for(unsigned int i = 0; i  318; i ++)
        for(unsigned int j = 0; j  212; j ++)
            dst.SetPixel(i, j, toGrey1(img.GetPixel(round((float)i * xFactor), round((float) j * yFactor))) ? sf::Color::White : sf::Color::Black);
    dst.SaveToFile("./converted.bmp");
    BMPXML();
    return 0;
}


Le but du programme c'est de faire IMG2TNS.

Pour l'instant on a IMG2XML. Il faut encore faire ajouter XML2ZIP (et ZIP2TNS c'est franchement pas compliqué (enfin, j'espère)).
User avatar
ExcaleAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 3.9%
 
Posts: 2955
Images: 3
Joined: 10 Sep 2010, 00:00
Gender: Male
Calculator(s):
MyCalcs profile

Re: TI-Nspire Image Converter 3

Unread postby critor » 26 Nov 2010, 23:12

Est-il possible que le programme soit releasé d'ici le courant de la semaine prochaine, afin de participer aux TI-Bank Awards 2010 ?
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: TI-Nspire Image Converter 3

Unread postby Excale » 26 Nov 2010, 23:16

critor2000 wrote:Est-il possible que le programme soit releasé d'ici le courant de la semaine prochaine, afin de participer aux TI-Bank Awards 2010 ?


J'y ai pensé mais vu qu'il n'a pas grande réputation pour le moment, je ne sais pas si c'est le meilleur choix.

Par contre il faut que je m'y remette. Je l'ai un peu délaissé ces derniers temps.

Après de multiples tests, il semble que tout fonctionne bien. Seul hic, pour ceux qui n'ont pas Windows, je n'ai pas trouvé un moyen simple de zipper deux fichiers.
Et avant de le releaser, il faut qu'Adriweb compile une version du code C et fasse un petit batch (ça a sans doute un autre nom sous Mac) pour l’appeler, histoire que tous les Mac n'aient pas à le faire.
User avatar
ExcaleAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 3.9%
 
Posts: 2955
Images: 3
Joined: 10 Sep 2010, 00:00
Gender: Male
Calculator(s):
MyCalcs profile

Re: TI-Nspire Image Converter 3

Unread postby critor » 26 Nov 2010, 23:33

Excale wrote:
critor2000 wrote:Est-il possible que le programme soit releasé d'ici le courant de la semaine prochaine, afin de participer aux TI-Bank Awards 2010 ?


J'y ai pensé mais vu qu'il n'a pas grande réputation pour le moment, je ne sais pas si c'est le meilleur choix.



Pour les TI-Bank Awards, chaque choix dans le formulaire est doublé d'un lien.
Donc tous les votants peuvent aller lire la description rapide de chaque programme, et même l'essayer si ils veulent.

Si seule la version Windows est fonctionnelle, ce n'est pas bien grave.
Tu pourras toujours rajouter/améliorer la version Linux après.


Dès que c'est prêt, envoie-nous l'archive à Mic ou à moi. :#top#:
Si c'est dans les prochains jours, tu pourras participer.

Et même si tu ne gagnes pas, rien ne t'empêche alors de reparticiper l'année prochaine.

C'est quand même une chance de te faire "bien" connaître, puisqu'un lien vers ton programme sera disponible en permanence sur le portail pendant toute la durée des TI-Bank Awards, c'est-à-dire plusieurs semaines! :#top#: :#top#: :#top#:
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: TI-Nspire Image Converter 3

Unread postby Excale » 26 Nov 2010, 23:44

critor2000 wrote:C'est quand même une chance de te faire "bien" connaître, puisqu'un lien vers ton programme sera disponible en permanence sur le portail pendant toute la durée des TI-Bank Awards, c'est-à-dire plusieurs semaines! :#top#: :#top#: :#top#:


Ce n'est pas totalement absolument stupide :D: .

J'essaie de finir ça ce Week-End.
User avatar
ExcaleAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 3.9%
 
Posts: 2955
Images: 3
Joined: 10 Sep 2010, 00:00
Gender: Male
Calculator(s):
MyCalcs profile

Re: TI-Nspire Image Converter 3

Unread postby Excale » 28 Nov 2010, 12:31

Ça avance.
User avatar
ExcaleAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 3.9%
 
Posts: 2955
Images: 3
Joined: 10 Sep 2010, 00:00
Gender: Male
Calculator(s):
MyCalcs profile

Re: TI-Nspire Image Converter 3

Unread postby Excale » 28 Nov 2010, 15:47

Voilà Voilà,

<lien mort>

Avant de mettre ça sur le portail, ce serait pas mal que quelqu'un l'essaie en essayant d'être le plus bête possible (pas trop non plus).

Sinon j'ai changé dans le nom "Picture" en "Image" . Je trouve cela plus logique.

Normalement c'est la version définitive pour le moment, si je n'ai pas écrit une absurdité quelque part (même après m'être relu).
:;):
User avatar
ExcaleAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 3.9%
 
Posts: 2955
Images: 3
Joined: 10 Sep 2010, 00:00
Gender: Male
Calculator(s):
MyCalcs profile

Re: TI-Nspire Image Converter 3

Unread postby Excale » 04 Dec 2010, 22:00

En théorie c'est fonctionnel! :):

[color=red]TNIC web (clic)[/color]


A vous de tester :D: . Je crains malheureusement que dans certains cas très méchants, il y ait des exceptions PHP.

Si vous avez des idées sur la "forme" du site (cad le code html), je suis preneur.
User avatar
ExcaleAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 3.9%
 
Posts: 2955
Images: 3
Joined: 10 Sep 2010, 00:00
Gender: Male
Calculator(s):
MyCalcs profile

PreviousNext

Return to Nspire-Basic

Who is online

Users browsing this forum: ClaudeBot [spider] and 2 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.
745 utilisateurs:
>725 invités
>13 membres
>7 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)