![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#4
|
||||
|
||||
|
Efectivamente, las API que usaste para aislar los componentes de color, devuelven un Byte. C es muy estricto con los tipos, por lo que te avisa de una conversión no ortodoxa pero no es un error ya que TColor es en realidad un int. Debes hacer la conversión explicita a TColor para evitar el aviso. Es recomendable hacerlo así pues evitar posibles errores derivados de una mala conversión de tipos.
Prueba esto: Código:
Byte Tono = (GetRValue(TheRGBValue)+GetGValue(TheRGBValue)+GetBValue(TheRGBValue))/3; TColor WB = (TColor)RGB(Tono, Tono, Tono); Imagen->Canvas->Pixels[k][l]=WB; EDITO: Por si no comprendiste porqué los tonos eran rojizos, la pega está en asumir el color como (GetRValue(TheRGBValue)+GetGValue(TheRGBValue)+GetBValue(TheRGBValue))/3; esto es un byte que al asimilarlo a color sólo tiene componente rojo. De aquí que debas hacer RGB(Tono, Tono, Tono); Última edición por escafandra fecha: 05-05-2008 a las 08:13:58. |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| String a TColor | mr_pascale | Gráficos | 4 | 21-02-2008 18:32:59 |
| ColorToRGB para un TColor de 16 bits. | kotai | Gráficos | 2 | 09-03-2007 20:45:00 |
| convertir un string a tColor | Manuel | Varios | 2 | 19-08-2006 19:58:24 |
| WARNING. Duplicate resource(s) | Perio | Varios | 4 | 08-11-2005 14:25:08 |
| Warning | Salomon | Varios | 2 | 05-04-2004 19:53:23 |
|