Galería de interfaces de usuario escritas en MQL - página 48

 
Реter Konow #:

Pero si un píxel tiene un color diferente en lugar de -1, entonces no es realista separarlo del resto, y las funciones de transparencia no ayudarán. Aquí está la cosa.

Estoy hablando de iconos png con fondo transparente (con canal alfa).

 
Nikolai Semko #:
...

También solía hacerlo con las sombras. Ya no lo hago.
Moda moderna sin sombras, degradados y rizos.
Minimalismo en definitiva, lo que favorece el rendimiento del renderizado.


Por supuesto, la moda es diferente, pero si hablamos estrictamente de la representación, a continuación, el procesamiento adicional de las sombras de los iconos pequeños es sólo la inicialización de 16 * 16 celdas de matriz con valores calculados por un niño fórmula. Y así para cada icono de la ventana, que se pueden contar con los dedos. Apenas habrá un milisegundo de retraso en el renderizado. Otra cosa son los eventos de redibujar las superficies de grandes lienzos con muchos elementos. Entonces, sin duda, los gadgets gráficos se ralentizarán. Pero sólo en el primer dibujo o al cambiar todo el lienzo. Eso no es siempre, sino sólo en ciertos eventos. En otros casos simplemente eliminamos el recurso guardado de la memoria y no dibujamos nada.

Así son las cosas...
 
Nikolai Semko #:

Me refiero a iconos png con fondo transparente (con canal alfa).

Así que no tienen transparencia como tal. El fondo está marcado con -1. El algoritmo debería simplemente cambiar este valor al color del píxel subyacente en el lienzo de renderizado. Es decir, no hay necesidad de mezclar colores en este caso. Pero para otros propósitos la función de transparencia es muy útil. Por cierto, la tomé prestada por consejo tuyo de un viejo artículo. Sin embargo, aún no la he utilizado. Creo que puede ser útil...
 
Nikolai Semko #:

...

Por cierto, hay un problema gráfico que no pude manejar. Es realmente difícil. Intenté resolverlo y desistí. No porque no pudiera, sino porque me llevaba demasiado tiempo. Sopesé los pros y los contras y dejé de intentarlo.

Sé que eres un gran experto en trabajar con colores de lienzo. No puedo evitar preguntar.

Éste es el problema:

Cómo calcular el gradiente de color del marco de un simple botón de tal manera que armonice con el color de la superficie del botón y que pase suavemente, enfatizando la curva sin cambiarla. Por ejemplo, tenemos un botón amarillo claro. ¿Cómo colorear correctamente su marco de 4-5 píxeles de grosor? Hay que tener en cuenta que el marco está iluminado de forma diferente desde distintos lados. Desde el frente y la izquierda, el marco es claro, desde la derecha y la base es oscuro. Además, cuanto más cerca de la base, más oscuro es el marco. Además, hay reflejos.

¿Cómo puedo calcular los colores del marco a partir del color original del botón?


Esa es la cuestión. :)
 

Un ejemplo claro:


Los bordes del botón no están coloreados. La razón es que no hemos calculado los colores necesarios. El degradado habitual no es adecuado. Aquí necesitamos alguna fórmula para calcular la luz, la sombra, el ángulo y el tono de color. Me falta competencia en esta área.

 
Реter Konow #:
Por cierto, hay un problema gráfico que no pude resolver. Es un problema realmente difícil. Intenté resolverlo y desistí. No porque no pudiera, sino porque me llevaba demasiado tiempo. Sopesé los pros y los contras y desistí de seguir intentándolo.

Sé que eres un gran experto en trabajar con colores de lienzo. No puedo evitar preguntártelo.

Así que, aquí está el reto:

Cómo calcular el gradiente de color del marco de un botón sencillo de forma que armonice con el color de la superficie del botón y transiciones suaves, enfatizando la curva sin cambiarla. Por ejemplo, tenemos un botón amarillo claro. ¿Cómo colorear correctamente su marco de 4-5 píxeles de grosor? Hay que tener en cuenta que el marco está iluminado de forma diferente desde distintos lados. Desde el frente y la izquierda, el marco es claro, desde la derecha y la base es oscuro. Además, cuanto más cerca de la base, más oscuro es el marco. Además, hay reflejos.

¿Cómo puedo calcular los colores del marco a partir del color original del botón?


He aquí una pregunta. :)

1. en el color - colores contrastantes, hay una tabla (en este caso debe obtener un tono de azul oscuro)

2. en las sombras: simular una bombilla (un punto en el espacio XYZ, sólo en coordenadas numéricas, no hay necesidad de construir ejes) y de ella a los bordes de las líneas rectas, que marcará los límites de la sombra. en este caso, el gradiente se extenderá desde el primer límite a la segunda, dependiendo de la altura del botón, también la geometría.

 
Renat Akhtyamov #:

1. por color - colores contrastados, hay una tabla ( en este caso debería resultar un tono de azul oscuro)

2. en las sombras: imitar una bombilla (punto) y de ella a los bordes de las líneas rectas, que marcarán los límites de la sombra. en este caso, el gradiente se extenderá desde el primer límite hasta el segundo, dependiendo de la altura del botón, también geometría.

¿Puede proporcionar un enlace a una función, fórmula o artículo? Sería de gran ayuda.
 
Реter Konow #:
¿Puede proporcionar un enlace a una función, fórmula o artículo? Sería de gran ayuda.

google todo con millones de respuestas

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.
 

No necesito millones de respuestas. Necesito una correcta, y preferiblemente de inmediato).

Si no, no le veo mucho sentido. No es rentable.


Y la pregunta no era sobre la longitud de la sombra, sino sobre la correcta coloración delmarco del botón con el color del propio botón.

 
Реter Konow #:

No necesito millones de respuestas. Necesito una correcta, y preferiblemente de inmediato).

Si no, no le veo mucho sentido. No es rentable.


Y la cuestión no era la longitud de la sombra, sino la correcta coloración delmarco del botón con el color del propio botón.

Esa es la sombra.

Si el color contrasta, será bonito sólo para el usuario, porque el artista se aburrirá.