Come osserva correttamente Elmo Allén, questa non è né un'illusione ottica né un bug nel tuo editor grafico, ma un effetto causato dalla tecnologia di monitoraggio che stai utilizzando.
In particolare, su un tipico schermo TFT-LCD moderno , ogni pixel è in realtà composto da tre subpixel separati disposti uno accanto all'altro, rispettivamente colorati, verde e blu:
Ognuno di questi subpixel può produrre solo uno dei colori primari della luce, ma, poiché sono molto vicini tra loro, i loro colori si fondono insieme quando li guardi, producendo l'illusione del colore solido.
Per un pixel bianco (o grigio), tutti i subpixel sono ugualmente illuminati. Regolando l'intensità dei diversi subpixel l'uno rispetto all'altro, è possibile produrre colori diversi. All'estremo, per un pixel rosso, verde o blu puro, vengono attivati solo i sottopixel che producono quel colore. Pertanto, la tua striscia rosso-verde-rossa sarà, a livello di subpixel, renderizzata in questo modo:
Qui puoi iniziare a vedere cosa sta succedendo: di solito c'è uno spazio di due subpixel scuri tra ciascuno illuminato, ma ai confini tra i colori, lo spazio è di tre subpixel (creando una banda scura) o solo uno (creando un uno leggero).
Certo, l'effetto è più evidente quando i colori dei subpixel vicini vengono mescolati insieme, come normalmente accade quando si guarda lo schermo:
Qui, ho applicato solo una moderata quantità di sfocatura, simulando ciò che potresti vedere se, ad esempio, guardassi il tuo schermo attraverso una lente d'ingrandimento. (Provalo!) La banda scura al limite sinistro è ovvia qui; la banda luminosa al limite destro non appare così chiaramente, ma diventerebbe più evidente se l'immagine fosse ulteriormente sfocata.
Naturalmente, non devi fidarti di queste immagini simulate. Consentitemi invece di includere un paio di foto ravvicinate che ho scattato sullo schermo del mio laptop, mostrando l'immagine nella vostra domanda, con una fotocamera digitale economica:
Come nell'immagine simulata, la linea scura è molto evidente; la linea luminosa è meno, forse perché c'è ancora un sottopixel scuro tra quelli illuminati, quindi non c'è un picco così chiaro a intensità singola.
Cosa puoi fare per risolvere questo problema?
In linea di principio, questo effetto è qualcosa che il tuo monitor potrebbe compensare automaticamente, ad esempio rilevando tali transizioni problematiche e lasciando che i colori si spargano leggermente l'uno nell'altro per ammorbidire la transizione. Ciò aggiungerebbe maggiore complessità e costi, tuttavia, motivo per cui la maggior parte dei produttori di monitor non si preoccupa.
Tuttavia, puoi ottenere tu stesso lo stesso risultato aggiungendo una striscia stretta di un colore intermedio (ad esempio giallo, per rosso e verde) tra campi di colore così contrastanti. Il colore di questa striscia dovrebbe corrispondere approssimativamente alla luminanza media dei colori circostanti, tenendo conto della gamma di visualizzazione .