Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    [c]convertire 3 interi in un esadecimale

    ciao

    scusate, forse la mia domanda è una castronata, ma io e la matematica non andiamo molto daccordo...vi spiego:

    io ho 3 interi

    codice:
    int r;
    int g;
    int b;
    vorrei convertirli in un unico intero, però in esadecimale...cosa dovrei fare?

    mi spiego meglio, rgb identificano la quantità dei 3 colori primari, mettendoli assiame in formato esadecimale si ottiene una cosa tipo

    0xFFFFFF = bianco

    r=255 = FF
    g=255 = FF
    b=255 = FF

    oppure

    0x000000 = nero

    r=0 = 00
    c=0 = 00
    b=0 = 00

    oppure rosso

    0xFF0000 = rosso
    r=255 = FF
    g=0 = 00
    b=0 = 00

    è corretto?

    ma 0xFF0000 a cosa corrisponde in decimale? c'è una regola fissa di conversione o si accostano solamente i 3 valori?
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

  2. #2
    Utente di HTML.it L'avatar di bako
    Registrato dal
    Feb 2004
    Messaggi
    1,797
    vorrei convertirli in un unico intero, però in esadecimale...cosa dovrei fare?
    allora o è intero o è esadecimale.. spiegati meglio


    la conversione è così
    hex 0 1 2 3 .. A B C D E F
    dec 0 1 2 3 .. 10 11 12 13 14 15
    0x identifica che è un colore (mi pare)
    il numero dopo è solo l'accostamento delle quantità RGB

  3. #3
    non è vero, un intero lo puoi rappresentare in tutte le basi che vuoi!

    binario, esadecimale o decimale!

    quello che non so io è se c'è una regola per cui 0xFFFFFF può essere rappresentato come intero mantenendo una logica!

    nel senso...se io accosto i valori ottengo 255255255 che convertito in esadecimale non è 0xFFFFFF

    o sbaglio?
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

  4. #4
    Utente di HTML.it L'avatar di bako
    Registrato dal
    Feb 2004
    Messaggi
    1,797
    Originariamente inviato da nik600
    non è vero, un intero lo puoi rappresentare in tutte le basi che vuoi!

    binario, esadecimale o decimale!

    quello che non so io è se c'è una regola per cui 0xFFFFFF può essere rappresentato come intero mantenendo una logica!

    nel senso...se io accosto i valori ottengo 255255255 che convertito in esadecimale non è 0xFFFFFF

    o sbaglio?
    usando la calcolatrice di win .. mi da:
    FFFFFFF -> 268435455
    255255255 -> F36E2D7
    cmq nn ho ancora capito che vuoi farci ..

  5. #5
    sto analizzando i punti di un'immagine e vorrei memorizzare un sololo valore invece che i 3 colori rgb, ma credo di non avere scelta...a meno di utilizzare una stringa...ma mi sa molto di porcata...
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

  6. #6
    Utente di HTML.it L'avatar di bako
    Registrato dal
    Feb 2004
    Messaggi
    1,797
    memorizza una struct ... però ti serve memoria .. sennò memorizza una variabile tipo color (guarda se c'è in qualche libreria)

  7. #7
    la struct la sto gia utilizzando...il problema è che poi non posso fare controlli veloci, tipo

    a=b

    dovrei fare una classe invece che una struct (sovrascrivendo il metodo =), ma questo non posso farlo perchè devo usare per forza il c
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

  8. #8
    Utente di HTML.it L'avatar di bako
    Registrato dal
    Feb 2004
    Messaggi
    1,797
    fatti una funzione confronta..
    codice:
    int confronta (struct_colore a,struct_colore b){
     if ((a.r==b.r) && (a.g==b.g) && (a.b==b.b)) return 0
     else return 1
    }

  9. #9
    hai ragione, è la cosa + giusta

    ciao e grazie!
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

  10. #10
    Originariamente inviato da nik600
    la struct la sto gia utilizzando...il problema è che poi non posso fare controlli veloci, tipo

    a=b

    dovrei fare una classe invece che una struct (sovrascrivendo il metodo =), ma questo non posso farlo perchè devo usare per forza il c
    Object oriented programming with ansi C
    http://www.planetpdf.com/codecuts/pdfs/ooc.pdf

    PyGTK GUI programming
    un impegno concreto: eliminare la k dalle tastiere italiane

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.