Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Gráficos (https://www.clubdelphi.com/foros/forumdisplay.php?f=8)
-   -   Color puro de un RGB o TColor (https://www.clubdelphi.com/foros/showthread.php?t=78992)

MaxiDucoli 31-05-2012 23:02:24

Color puro de un RGB o TColor
 
Hola, mi problema es el siguiente: Tengo 2 colores y quiero saber si el tercer color es igual a los 2 anteriores.
El problema es que no son todos colores iguales y a veces hasta los colores son mucho más oscuros entre sí.
Hay alguna manera de poder extraer el "color puro" de ese color?

Por ejemplo, si tengo estos tre colores : A B C y quiero sacar el color puro que sería RGB(0,0,255) - AZUL.
Hay alguna función que me tome eso? Ya que no sólo son colores normales, si no que son VIOLETA - AMARILLO - VERDE - ROJO los que necesito "extirpar".
Cómo podría "pensar" en hacerla, ya que no me doy mucha mañana con esto de los colores, no entiendo casi nada.

Gracias! :)

FGarcia 31-05-2012 23:08:39

En la parte de baja de este mensaje existe una seccion llamada Temas Similares en los que probablemente ya se trato algo relacionado con tu duda. Revisalos, si te sirven todo bien en caso contrario preguntas nuevamente y alguien (algun guru) te respondera para tus dudas.

Saludos coloreados! :)

MaxiDucoli 03-06-2012 04:14:17

Cita:

Empezado por FGarcia (Mensaje 434024)
En la parte de baja de este mensaje existe una seccion llamada Temas Similares en los que probablemente ya se trato algo relacionado con tu duda. Revisalos, si te sirven todo bien en caso contrario preguntas nuevamente y alguien (algun guru) te respondera para tus dudas.

Saludos coloreados! :)

Hola! Gracias por la idea!
No encontré nada de lo que estoy buscando, ni parecido. Y la verdad es pienso y pienso y no se me ocurre como puedo hacer o ver algo "Similar" al color y que lo catalogue como color necesario :p
Bueno!
A seguir pensando!! :)
Saludos!

ecfisa 03-06-2012 08:57:32

Hola MaxiDucoli.

Realmente no entiendo bién lo que buscas hacer. Si es pasar el valor de la propiedad TColor a sus correspondientes valores RGB, podes hacer:
Código Delphi [-]
procedure TColorToRGB(Color: TColor; var R, G, B: Byte);
begin
  if Color shr 24 = $FF then
    Color := GetSysColor(Color and $FF)
  else if Color shr 24 > $02 then
    Color := 0;
  R := Color;
  G := Color shr 8;
  B := Color shr 16;
end;

Llamada ejemplo:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  R,G,B: Byte;
begin
  Label1.Color:= $0012D4D6; // un color cualquiera...
  TColorToRGB(Label1.Color, R, G, B);
  Caption:= Format('Red: %d - Green: %d - Blue: %d',[R, G, B])
end;

Saludos.

MaxiDucoli 07-06-2012 02:01:57

Cita:

Empezado por ecfisa (Mensaje 434167)
Hola MaxiDucoli.

Realmente no entiendo bién lo que buscas hacer. Si es pasar el valor de la propiedad TColor a sus correspondientes valores RGB, podes hacer:
Código Delphi [-]procedure TColorToRGB(Color: TColor; var R, G, B: Byte); begin if Color shr 24 = $FF then Color := GetSysColor(Color and $FF) else if Color shr 24 > $02 then Color := 0; R := Color; G := Color shr 8; B := Color shr 16; end;


Llamada ejemplo:
Código Delphi [-]procedure TForm1.Button1Click(Sender: TObject); var R,G,B: Byte; begin Label1.Color:= $0012D4D6; // un color cualquiera... TColorToRGB(Label1.Color, R, G, B); Caption:= Format('Red: %d - Green: %d - Blue: %d',[R, G, B]) end;


Saludos.

No, eso ya lo sé hacer.
No sé como explicarme, en realidad por que no sé si existe.
ponele que tengo una gama de rojos, bueno, quiero pasarlo a "ROJO PURO".
Ejemplo:

rgb(190,10,30)
RGB(255,60,10)
RGB(200,50,30);

Yo lo que querría saber es cual es el "COLOR FUERTE" de ese RGB y ponerlo en color primario. RGB (255,0,0) entendés?

escafandra 08-06-2012 07:02:44

Determinar el color fuerte es algo subjetivo... Cuando un componente predomina claramente, es sencillo pero ¿Cual es el color predominante del blanco RGB(255, 255, 255)?

Deberás establecer los puntos de corte o el % del color que consideras lo convierte en dominante. En los colores mas cercanos al blanco, al negro o a un color complementario a uno básico, tendrás problemas.


Saludos.

Yonomimi 21-06-2012 19:25:36

Hola amigos...saludo a todo el mundo

MaxiDucoli ...no solo existe un modelo de prosamiento del color...uno de los mas habituales es el RGB o RGBA(incluye el factor alfa). Creo que tu mencionas un modelo de color que contempla un Tono con una Iluminacion y una Saturacion (HLS).

aqui tiene el enlace para que veas a que me refiero: http: // es . wikipedia . org / wiki / Modelo_de_color_HSL

espero que te sirva de algo... saludos


La franja horaria es GMT +2. Ahora son las 07:36:55.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi