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

    Aumentare la luminosita' di un colore

    Questo problema non e' specifico di PHP ma e' piu' che altro un problema di algoritmo. Lo posto qui solo perche' sto lavorando con PHP, ma se ritenete che e' piu' pertinente al forum Grafica o Programmazione, spostate pure...

    Dunque, dato un colore in formato esadecimale, e quindi RGB, come si trovano le coordinate RGB dello stesso colore (stessa tinta e saturazione) ma con la luminosita' aumentata di un tot?

    All work and no play makes EricFlat a dull boy

  2. #2
    Se il mio colore e' #ccdecc (R:204, G:222, B:204), la sua luminosita' e' 220.
    Diciamo che la voglio portare a 230... come le trovo le corrispondenti componenti RGB???

    Ho trovato questo:
    http://www.w3.org/TR/AERT

    Color brightness is determined by the following formula:
    ((Red value X 299) + (Green value X 587) + (Blue value X 114)) / 1000
    Note: This algorithm is taken from a formula for converting RGB values to YIQ values. This brightness value gives a perceived brightness for a color.


    Ma ci faccio poco...
    All work and no play makes EricFlat a dull boy

  3. #3
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  4. #4
    Io ho trovato questo:
    http://www.actionscript.org/forums/a...3/t-50746.html


    Ma ora che l'ho messo in pratica, e funziona, non mi piace il risultato...
    All work and no play makes EricFlat a dull boy

  5. #5
    Potrebbe anche dipendere da come lo applichi nel senso che se aumenti la luminosità di tutti e 3 i canali dello stesso valore magari da un brutto risultato ... potresti provare ad aumentare la luminosità dei canali RGB in proporzione al loro valore

    Cioe se R è 100, G e 150 ed infine B e 200 consideri B come 1, G come 150/200 quindi 0,75 ed infine 100/200 ovvero 0,50 ... fatto questo se vuoi aumentare la luminosità di 10 punti fai R+10, G + 10 * 0.75 e B+10*0.5

    Ovviamente questo non ti aumenta la luminosità però potrebbe darti un risultato migliore perché non dovrebbe farti sfasare i colori

    Alternativamente potresti provare a lavorare con i canali HSV (hai in mente quando vedi vedi quei cerchi concentrici con i colori dentro ed un triangolo con l'intesità del colore piuttosto che il quadrato con i colori e la luminosità ... ecco) e variare la componente che ti interessa (o magari con HSL dato che a te interessa la luminosità)

    http://web.forret.com/tools/color.asp
    http://en.wikipedia.org/wiki/HSL_color_space
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

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 © 2025 vBulletin Solutions, Inc. All rights reserved.