Codifica caratteri

di il
12 risposte

Codifica caratteri

Ho un problema di codifica di caratteri il programma compila bene poi dà come output un punto interrogativo dentro un rombo che non mi fà nenanche copiare oppure si blocca. bitmap_image image("./im.bmp"); rgb_t colour; std::size_t y = 1; std::size_t x = 1; image.get_pixel(x, y, colour); std::cout<<"1"; std::cout<

12 Risposte

  • Re: Codifica caratteri

    Ma di cosa parli? Dove sta il codice? 

    Rileggi il tuo post

  • Re: Codifica caratteri

    Non mi funziona l' editor nel mio browser

        bitmap_image image("./im.bmp");
    
     rgb_t colour;
    std::size_t y = 1;
    std::size_t x = 1;
          image.get_pixel(x, y, colour);
          std::cout<<"1";
           std::cout<<colour.red;
           std::cout<<"2";
  • Re: Codifica caratteri

    A me funziona con qualsiasi browser, basta usarlo correttamente.

    In ogni caso, le linee che hai postato non danno nessun problema (a patto che il file immagine esista e venga aperto, cosa che non hai controllato).

    Comunque così accedi al pixel 1,1 (che non è il primo, che ha coordinate 0,0) e se vuoi visualizzare la componente red (che è in un unsigned char) devi eseguire il cast ad int

    std::cout << (int)colour.red << std::endl;

  • Re: Codifica caratteri

    Mi appare 1?2 ma il punto di domanda non è quello della tastiera è un rombo con dentro un punto di domanda oppure non mi dà niente

    bash-5.1$ locale
    LANG=en_US.UTF-8
    LC_CTYPE="en_US.UTF-8"
    LC_NUMERIC="en_US.UTF-8"
    LC_TIME="en_US.UTF-8"
    LC_COLLATE=C
    LC_MONETARY="en_US.UTF-8"
    LC_MESSAGES="en_US.UTF-8"
    LC_PAPER="en_US.UTF-8"
    LC_NAME="en_US.UTF-8"
    LC_ADDRESS="en_US.UTF-8"
    LC_TELEPHONE="en_US.UTF-8"
    LC_MEASUREMENT="en_US.UTF-8"
    LC_IDENTIFICATION="en_US.UTF-8"
    LC_ALL=
    
  • Re: Codifica caratteri

    Hai corretto il codice come ti ho indicato?

  • Re: Codifica caratteri

    No come mi hai indicato?

  • Re: Codifica caratteri

    Ma li leggi i post?

  • Re: Codifica caratteri

    Quello che vuoi leggere è un char solo per questioni di spazio dato che il colore del pixel è un informazione a 24 bit, ma in realtà l'informazione che contiene ha senso solo come numero. Per questo devi fare il cast come ti ha detto oregon

  • Re: Codifica caratteri

    Perfetto ora funziona

    andavo un pò di fretta ho usato male il forum grazie a tutti

  • Re: Codifica caratteri

    Lavorare con le immagini è un compito abbastanza complesso, se lo fai in C/C++ devi avere una ottima padronanza del linguaggio (di cui tu non mi pare tu conosca le basi) e nessuna fretta.

  • Re: Codifica caratteri

    Infatti ho una conoscenza superficiale, potete spiegarmi questa cosa nel codice da cui ho copiato non usa il casting.

    http://www.partow.net/programming/bitmap/index.html

  • Re: Codifica caratteri

    Il codice non l'hai proprio copiato. Quel codice è C non C++ e usa la printf non la cout come fai tu.

    Con la printf è tramite lo specificatore %d che avviene il casting

    Ti consiglio di studiare il C o il C++ prima di addentrarti in codice ulteriore.

Devi accedere o registrarti per scrivere nel forum
12 risposte