Galleria di interfacce utente scritte in MQL - pagina 48

 
Реter Konow #:

Ma se un pixel ha un colore diverso invece di -1, non è realistico separarlo dal resto e le funzioni di trasparenza non aiutano. Ecco il problema.

Sto parlando di icone png con sfondo trasparente (con canale alfa).

 
Nikolai Semko #:
...

Lo facevo anche con le ombre. Ora non lo faccio più.
Moda moderna senza ombre, gradienti e riccioli.
Minimalismo insomma, che va a favore delle prestazioni di rendering.


Naturalmente la moda è diversa, ma se parliamo strettamente di rendering, l'elaborazione aggiuntiva delle ombre delle piccole icone è solo l'inizializzazione di 16*16 celle di array con valori calcolati da una formula figlio. E così per ogni icona della finestra, che si può contare sulle dita delle mani. Non ci sarà quasi un millisecondo di ritardo nel rendering. Un'altra cosa sono gli eventi di ridisegno delle superfici di grandi tele con molti elementi. In questo caso, senza dubbio, i gadget grafici rallenteranno. Ma solo al primo disegno o quando si cambia l'intera tela. Non sempre, ma solo su determinati eventi. In altri casi, rimuoviamo semplicemente la risorsa salvata dalla memoria e non disegniamo nulla.

È così che funziona...
 
Nikolai Semko #:

Sto parlando di icone png con sfondo trasparente (con canale alfa).

Quindi non hanno una trasparenza vera e propria. Lo sfondo è contrassegnato da -1. L'algoritmo dovrebbe semplicemente cambiare questo valore con il colore del pixel sottostante sulla tela di rendering. In questo caso non è necessario mescolare i colori. Ma per altri scopi la funzione di trasparenza è molto utile. A proposito, l'ho presa in prestito su vostro consiglio da un vecchio articolo. Tuttavia, non l'ho ancora utilizzata. Penso che potrebbe tornarmi utile...
 
Nikolai Semko #:

...

A proposito, c'è un problema grafico che non sono riuscito a risolvere. È davvero difficile. Ho provato a risolverlo e ho rinunciato. Non perché non fossi in grado, ma perché richiedeva troppo tempo. Ho valutato i pro e i contro e ho rinunciato.

So che lei è un grande esperto nel lavorare con i colori della tela. Non posso fare a meno di chiederglielo.

Ecco il problema:

Come calcolare la sfumatura di colore della cornice di un semplice pulsante in modo che si armonizzi con il colore della superficie del pulsante e che passi dolcemente, enfatizzando la curva senza modificarla. Ad esempio, abbiamo un pulsante giallo chiaro. Come colorare correttamente la sua cornice di 4-5 pixel di spessore? È necessario tenere presente che la cornice è illuminata in modo diverso dai vari lati. Da davanti e da sinistra, la cornice è chiara, da destra e dal basso è scura. Inoltre, più la cornice è vicina alla base, più è scura. Inoltre, c'è un riflesso.

Come posso calcolare i colori della cornice in base al colore originale del pulsante?


Questa è la domanda. :)
 

Un esempio chiaro:


I bordi del pulsante non sono colorati. Il motivo è che non siamo riusciti a calcolare i colori necessari. Il solito gradiente non è adatto. Abbiamo bisogno di una formula per calcolare la luce, l'ombra, l'angolo e la tonalità del colore. Non sono competente in questo campo.

 
Реter Konow #:
A proposito, c'è un problema grafico che non sono riuscito a risolvere. È un problema davvero difficile. Ho provato a risolverlo e ho rinunciato. Non perché non fossi in grado, ma perché richiedeva troppo tempo. Ho valutato i pro e i contro e ho rinunciato a ulteriori tentativi.

So che lei è un grande esperto nel lavorare con i colori della tela. Non posso fare a meno di chiederglielo.

Quindi, ecco la sfida:

Come calcolare il gradiente di colore della cornice di un semplice pulsante in modo che si armonizzi con il colore della superficie del pulsante e passi in modo fluido, enfatizzando la curva senza modificarla. Ad esempio, abbiamo un pulsante giallo chiaro. Come colorare correttamente la sua cornice di 4-5 pixel di spessore? È necessario tenere presente che la cornice è illuminata in modo diverso dai vari lati. Da davanti e da sinistra, la cornice è chiara, da destra e dal basso è scura. Inoltre, più la cornice è vicina alla base, più è scura. Inoltre, c'è il riflesso.

Come posso calcolare i colori della cornice in base al colore originale del pulsante?


Ecco una domanda. :)

1. sul colore - colori contrastanti, c'è una tabella (in questo caso dovrebbe ottenere una tonalità di blu scuro)

2. sulle ombre: simulare una lampadina (un punto nello spazio XYZ, solo in coordinate numeriche, non c'è bisogno di costruire assi) e da essa ai bordi di linee rette, che segneranno i confini dell'ombra. in questo caso, il gradiente si estenderà dal primo confine al secondo, a seconda dell'altezza del pulsante, anche geometria.

 
Renat Akhtyamov #:

1. per colore - colori contrastanti, c'è una tabella (in questo caso dovrebbe risultare una tonalità di blu scuro)

2. per le ombre: imitare una lampadina (punto) e da questa ai bordi delle linee rette, che segneranno i confini dell'ombra. in questo caso, il gradiente si estenderà dal primo confine al secondo, a seconda dell'altezza del pulsante, anche geometrico.

Potete fornire un link a una funzione, una formula o un articolo? Sarebbe utile.
 
Реter Konow #:
Può fornire un link a una funzione, una formula o un articolo? Sarebbe utile.

google tutto con milioni di risposte

https://www.geeksforgeeks.org/how-to-determine-the-length-of-a-shadow/

https://www.sravni.ru/kursy/info/cvetovoj-krug-ittena/

How to determine the length of a Shadow? - GeeksforGeeks
How to determine the length of a Shadow? - GeeksforGeeks
  • www.geeksforgeeks.org
A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.
 

Non mi servono milioni di risposte. Mi serve quella giusta, e preferibilmente subito).

Altrimenti, non vedo il motivo di farlo. Non è redditizio.


E la domanda non riguardava la lunghezza dell'ombra, ma la corretta colorazione dellacornice del pulsante con il colore del pulsante stesso.

 
Реter Konow #:

Non ho bisogno di milioni di risposte. Mi serve quella giusta, e preferibilmente subito).

Altrimenti, non vedo il motivo di farlo. Non è redditizio.


Il problema non era la lunghezza dell'ombra, ma la corretta colorazione dellacornice del pulsante con il colore del pulsante stesso.

Questa è l'ombra.

Se il colore è contrastante, sarà bello solo per l'utente, perché l'artista si annoierà.