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

    [java] spiegazione istruzione

    Qualcuno mi potrebbe spiegare cosa significa questa istruzione?

    rgb_ar[c++] = 255 << 24 | img[i][j].red << 16 | img[i][j].green << 8 | img[i][j].blue;


    si riferisce ad un programma che a partire da una matrice contenenente degli oggetti che rappresentano un pixel nel formato rgb (hanno il valore per i tre colori) deve ottenere un array da utilizzare con MemoryImageSource. Qualuno mi può aiutare? grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    813
    a vederla sembra complicata...
    dunque...se rgb_ar è un intero, e in java gli interi sono a 4 byte...
    lui mette nel primo byte (quello più significativo) 255, nel secondo il canale rosso, nel terzo il verde ed infine il blu...

    fa così
    255 << 24
    significa che
    000000FF diventa FF00000

    mg[i][j].red << 16
    significa
    000000RR doventa 00RR0000 dove la XX sono i valori esadecimali del rosso

    img[i][j].green << 8
    significa
    000000GG diventa 0000GG00

    invece il blu non viene shiftato e resta 000000BB

    fai un OR logico con questi 4 termini ed ottieni
    FFRRGGBB

    << e | sono operatori che agiscono sui bit (operatori bitwise)

    cmq c'è un subforum su java e credo che questo 3d venga kiuso tra nn molto
    Nell'anno 1968 è bastata la potenza di due Commodore 64 per lanciare con successo una navicella sulla Luna; nell'anno 2007 ci vogliono la potenza di un processore quad core 3.30 GHz e 3 Gb di RAM (requisiti minimi ufficiali) per utilizzare Windows Vista. Qualcosa deve essere andato storto!

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.