Ver Mensaje Individual
  #3  
Antiguo 26-11-2011
MaxiDucoli MaxiDucoli is offline
Miembro
 
Registrado: feb 2006
Posts: 134
Reputación: 21
MaxiDucoli Va por buen camino
Question

Cita:
Empezado por Neftali Ver Mensaje
La verdad es que no lo he probado, pero yo haría un test sencillo.

Recorre los pixels de la imagen (alto y ancho) y cambia los valores de color de cada pixel. Básicamente puedes variar los valores RGB o HLS. Revisa la unit GraphUtil, y verás que hay funciones como:
  • ColorRGBToHLS
  • ColorHLSToRGB
  • ColorAdjustLuma
  • HueToRGB
  • GetHighLightColor
  • GetShadowColor
Me siento muy estúpido preguntándote esto, pero no se como hacer.
Mirá, yo lo tengo así:

if Sender Is TShape then Col := TShape(Sender).Brush.Color; // Si hago click en el TShape me cambia el color.
ColorRGB := GetRValue(Col) + GetGValue(col) + GetBValue(Col); // Cargo la variable con el color del TShape.
FOR j := 0 TO PNG.Height-1 DO
BEGIN
FOR i := 0 TO PNG.Width-1 DO
BEGIN
// ColorRGB := GetRValue(PNG.Canvas.Pixels[i,j]) + GetGValue(PNG.Canvas.Pixels[i,j]) + GetBValue(PNG.Canvas.Pixels[i,j]);
IF PNG.Canvas.Pixels[i,j] <> ClBlack THEN ColorRGBToHLS(PNG.Canvas.Pixels[i,j],H,L,S); // Este lo seteo con variables WORD y con valores H = 120 - L = 20 - S = 50;
END
END;

Pero al cargar la imagen no me hace nada (obvio que salvo antes de cargarla)

Podrías darme "una linea" de como hacerlo por favor??
Responder Con Cita