Page 1 of 2

Contraste de colores?

PostPosted: Sun Jun 23, 2024 8:11 pm
by Armando
Saludos a todo el foro:

En mis diálogos estoy usando colores solidos (azul, rojo, verde, etc) elegidos de forma aleatoria y en los
textos el color por default, negro.

En algunos colores del dialogo el contraste de los textos es perfectamente visible, por ejemplo dialogo
en color amarillo y los textos en negro el contraste es muy aceptable, pero cuando el color del dialogo es
azul, el texto casi no se nota. ojo, no me refiero al texto dentro de un get, es el texto que antecede al get
y que le define al usuario lo que debe teclear.

En este último caso debería definir los textos en color blanco, y ahí viene mi duda y pregunta al foro
¿Cómo defino el color del texto de forma global?. son muchos textos como para definirles el color uno a uno.

Espero haberme explicado.

Gracias de antemano

Re: Contraste de colores?

PostPosted: Mon Jun 24, 2024 1:23 am
by cmsoft
Armando:
Creo que no hay una funcion para generalizarlo (como SetGetColorFocus())
Pero en esos dialogos puedes ponerle la clausula COLOR CLR_WHITE en el DEFINE del mismo.

Re: Contraste de colores?

PostPosted: Mon Jun 24, 2024 2:47 am
by Armando
César:

Te agradezco la respuesta, en la aplicación hay casi 200 diálogos y el color de los mismos
se define en tiempo de ejecución en base a la función nRandom(), en algunos casos
el color negro del texto va bien pero en otros casos no, obviamente puedo hacerle
pero, creo, me llevara mucho código.

Por esta razón busco una solución general, algo así como lo que tú mencionas, SetGetColorFocus())

Ojalá, Antonio Linares o Mr. Rao pudieran apoyarme.

Un abrazo

Re: Contraste de colores?

PostPosted: Mon Jun 24, 2024 8:40 am
by Antonio Linares
Armando,

Como llamas a nRandom() para generar los colores ? Puedes mostrar el código ?

En que casos no se ve bien ? Quizá esos casos puedan evitarse desde código

Re: Contraste de colores?

PostPosted: Mon Jun 24, 2024 10:09 am
by paquitohm
Quizá el problema sea conceptual.

En mis programas el usuario puede coger los colores "base", a partir de ellos el programa muestra degradados de ese color pero siempre-siempre con la misma cantidad de degradado (brillo)

Es decir, el nivel de degradado está controlado y NO es aleatorio

Hace poco alguien puso una funcion para calcular el brillo de un color. Creo que en el foro de utilidades.

Re: Contraste de colores?

PostPosted: Mon Jun 24, 2024 10:53 am
by Jimmy
hi,

the best thing would be to use the font in the complementary color of the background.
Unfortunately I don't know how to determine the complementary color

Lo mejor sería utilizar la fuente en el color complementario del fondo.
Lamentablemente no sé cómo determinar el color complementario.

Re: Contraste de colores?

PostPosted: Mon Jun 24, 2024 1:20 pm
by karinha
Armando, código?

Regards, saludos.

Re: Contraste de colores?

PostPosted: Mon Jun 24, 2024 3:26 pm
by Armando
Antonio Linares wrote:Armando,

Como llamas a nRandom() para generar los colores ? Puedes mostrar el código ?

En que casos no se ve bien ? Quizá esos casos puedan evitarse desde código


Amigos, una disculpa por escribir en este foro de Inglés, creí estar en el foro de Español.

Antonio, agradezco tu interés en el tema,

Tengo siete archivos.BMP con siete diferentes colores, rojo, verde, azul, café, amarillo, etc.
que son lo que utilizo como fondo de los dialogos.

En el MAIN, a través de la función nRandom() determino que color se va a utilizar
cuando se utiliza el amarillo (Negro/amarillo) se ve muy bien, pero cuando toca (Negro/Café)
el texto casi no se nota, en estos casos quisiera poder cambiar el color del texto para que
quede Blanco/Café, y he ahí mi problema son muchos diálogos para hacerlo "a pie"

Saludos

Re: Contraste de colores?

PostPosted: Mon Jun 24, 2024 3:27 pm
by Armando
Jimmy wrote:hi,

the best thing would be to use the font in the complementary color of the background.
Unfortunately I don't know how to determine the complementary color

Lo mejor sería utilizar la fuente en el color complementario del fondo.
Lamentablemente no sé cómo determinar el color complementario.


Jimmy, yes I agree, but this is my problem, I don't know how?

Best regards

Re: Contraste de colores?

PostPosted: Wed Jun 26, 2024 1:42 pm
by nageswaragunupudi
Please try
Code: Select all  Expand view
ContrastColor( nClrBack )


I am sorry, I meant ContrastClr( nClrBack ) not ContrastColor(...)

Re: Contraste de colores?

PostPosted: Wed Jun 26, 2024 4:07 pm
by Armando
Mr. Rao:

Sorry, I don't undertood, any full sample?

Regards

Re: Contraste de colores?

PostPosted: Wed Jun 26, 2024 4:48 pm
by cmsoft
Mr. Rao, si pongo al principio del programa
ContrastColor(CLR_YELLOW)
Me da este error:
Code: Select all  Expand view

   Error description: Error BASE/1004  No exported method: NTOP
   Args:
     [   1] = U  

Stack Calls
===========
   Called from:  => NTOP( 0 )
   Called from: .\source\classes\xbrowse.prg => CONTRASTCOLOR( 18650 )
 

Re: Contraste de colores?

PostPosted: Wed Jun 26, 2024 5:16 pm
by Antonio Linares
Estimado César,

Revisa la sintaxis:
function ContrastColor( hDC, oRect, nDefClr )

Re: Contraste de colores?

PostPosted: Wed Jun 26, 2024 5:25 pm
by karinha
\source\function\Imgtxtio.prg

Re: Contraste de colores?

PostPosted: Wed Jun 26, 2024 6:20 pm
by nageswaragunupudi
Sorry for my typo
I suggest using ContrastClr( nClrBack ) from imgtxtio.prg
not ContrastColor(...) in XBrowse.