Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo
Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo
Politica, accademia e industria a confronto su mercato unico, sicurezza e competitività. Nei laboratori di Vimercate, Nokia ha mostrato le nuove generazioni di chip ottici e i test che ogni prodotto deve superare prima di arrivare sul mercato
In sella alla Fiido Nomads Pro: e-bike con motore centrale da 100 Nm per il divertimento a 360 gradi
In sella alla Fiido Nomads Pro: e-bike con motore centrale da 100 Nm per il divertimento a 360 gradi
Abbiamo assemblato e provato la Fiido Nomads Pro, evoluzione del modello da trekking già presente nella gamma, che migliora in tutto, soprattutto grazie al motore centrale, fluido e potente. Ottima app, costruzione solida e prezzo ok completano il quadro
ASUS Zenbook 14 (UX3480AA): tanta autonomia con uno chassis bello e robusto
ASUS Zenbook 14 (UX3480AA): tanta autonomia con uno chassis bello e robusto
Lo chassis in Ceraluminium è il cuore di questo notebook in edizione 2026, un modello pensato per garantire produttività con le tipiche applicazioni di produttività personale e capace di offrire un'autonomia di funzionamento lontano dalla presa di corrente da riferimento. Potenza, facilità di trasporto e costruzione robusta tutto in un notebook compatto.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 03-08-2008, 19:31   #1
MictiaN
Junior Member
 
L'Avatar di MictiaN
 
Iscritto dal: Dec 2007
Città: Roma
Messaggi: 20
[Java] regolare la luminosità di un'immagine

Salve
Devo creae un programma che gestisca la luminosità di due immagini sovrapposte
mi spiego meglio:

Ho uno sfondo che varia dal nero al bianco assumendo tutte le gradazioni intermedie

Sovrapposta allo sfondo ho un immagine che può essere una lettera o una linea, che anch'essa varia dal nero al bianco assumendo tutte le gradazioni

il tutto ovviamente controllato dall'utente

ora... come diavolo faccio a regolare la luminosità?
grazie in antiipo per le rispote^^
MictiaN
MictiaN è offline   Rispondi citando il messaggio o parte di esso
Old 04-08-2008, 20:43   #2
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
L'immagine assume le stesse gradazioni dello sfondo? In tal caso, non avrebbe molto senso.
Descrivimi un po' il problema, non dovrebbe essere una cosa così difficile da fare, anche se non conosco Java per bene.

Per il resto, se lavori su colori in RGB non è complicato codificarli/decodificarli e lavorarci sopra. Se sai che le componenti singole possono assumere valori da 0 a 255 (un singolo byte ognuno), puoi lavorare direttamente sui valori dei pixel; con un po' di lavoro in più, se hai una codifica in RGBA (dove A è il canale alpha) puoi anche applicare effetti di trasparenza all'immagine.
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 04-08-2008, 20:54   #3
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Ah, chiaramente se hai solo bisogno di impostare un colore ad un componente grafico che non sia un'immagine (intesa come "matrice di pixel") ma che possa assumere dei colori, allora la cosa è ancora più semplice. Supponendo ad esempio che il bianco sia codificato come colore col valore massimo (probabilmente 0xFFFFFF) e che tu abbia una tua funzione RGB() che codifica un colore a partire dalle sue singole componenti, puoi fare in questo modo: (te lo scrivo in C perché, ripeto, di Java non me ne intendo molto)
Codice:
unsigned int whitePercentage(float percent)
{
  byte C;

  if (percent < 0.0f)
    percent = 0.0f;
  else if (percent > 1.0f)
    percent = 1.0f;

  C = (percent * 255.0f);
  return RGB(C, C, C);
}
Ovviamente la percentuale qui diventa un coefficiente che varia da 0.0 a 1.0 (che per sicurezza controllo sia interno a quell'intervallo, altrimenti lo limito: se sai che avrai un numero non eccedente in input puoi evitare il controllo).
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 04-08-2008, 23:52   #4
MictiaN
Junior Member
 
L'Avatar di MictiaN
 
Iscritto dal: Dec 2007
Città: Roma
Messaggi: 20
grazie del suggerimento! ora mi studio meglio le classi Color
cmq quando l'immagine di sfondo è chiara, quella sovrapposta è scura
serve per delle misurazioni optometriche
MictiaN è offline   Rispondi citando il messaggio o parte di esso
Old 05-08-2008, 00:07   #5
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Ah ok, hanno colori opposti... così ha senso.

Be' se ci sono classi apposite, probabilmente ci saranno anche dei metodi già pronti per quello che devi fare. In caso contrario, ripeto, non credo sia un'operazione difficilissima reimplementarli.

ciao
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 05-08-2008, 00:56   #6
MictiaN
Junior Member
 
L'Avatar di MictiaN
 
Iscritto dal: Dec 2007
Città: Roma
Messaggi: 20
ok risolto
mi devo solo rivedere bene il colore alpha e ripassarmi il disegno ( studiato poco e inece ora mi serve xD)

ora ho uno di quei problemi che sembrano stupidi stupidi ma che alla fine sn complicati xD

spiego

per cambiare colore ogni volta creo un nuovo ogetto della classe Color

il costruttore ( Color(int r ,int g,int b)) acetta solo valori di tipo int

quindi nn posso sapere la percentuale del grigio che ho ottenuto, che ne sò un girgio chiaro chiaro è un grigio al 7% no?

e dato che i valori variano da 0 a 255 come faccio a sapere la percentuale?

oddio nn sò se sn riuscito a spiegarmi xD
MictiaN è offline   Rispondi citando il messaggio o parte di esso
Old 05-08-2008, 02:20   #7
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12113
Il canale alpha non lo devi toccare dato che regola la trasparenza.
Se vuoi calcolare la percentuale per un canale in scala di grigi a 8 bit devi semplicemente fare x / 255 * 100.
se il tuo valore tra 0 e 255 è 60 otterresti quindi:
60 / 255 * 100 = 23.523% (arrotondato alla terza cifra decimale)
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo Nokia Innovation Day 2026: la sovranità e...
In sella alla Fiido Nomads Pro: e-bike con motore centrale da 100 Nm per il divertimento a 360 gradi In sella alla Fiido Nomads Pro: e-bike con motor...
ASUS Zenbook 14 (UX3480AA): tanta autonomia con uno chassis bello e robusto ASUS Zenbook 14 (UX3480AA): tanta autonomia con ...
MSI PRO MAX: QD-OLED ultrawide per lavorare, creare e giocare MSI PRO MAX: QD-OLED ultrawide per lavorare, cre...
Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura Samsung Micro RGB R95H, il primo LCD a LED rossi...
VMware HyperArmor: una nuova protezione ...
AMD conferma una 'potenziale vulnerabili...
Arlo Pro 6 a 139€ su Amazon: telecamera ...
CPU più care, Intel aumenta fino ...
Fastweb ha lanciato l'opzione Fibra 10 G...
GeForce RTX 5080 da 24 GB: debutto nel p...
2 termoventilatori compatti e silenziosi...
AirPods Pro 3 a 199€ su Amazon: cancella...
Il nuovo trailer di Blade Runner 2099 sv...
DK400Max, la e-bike a trazione integrale...
iPhone Duo è 'uno spreco di soldi...
Più di 3000 al mese vendute su Am...
Intel presenta le GPU D-Series fino a 48...
Un attacco informatico può far ma...
AMD Helion, fino a 32.768 core Zen 6 per...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 08:58.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v