Cita:
Empezado por Neftali
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??