Cita:
Empezado por duilioisola
Se te puede ayudar. De eso puedes estar seguro!
El problema es que no explicas en qué quieres que te ayudemos...
A modo de ayuda, por ahora solo puedo darte ánimos y mis mejores deseos de éxito.
|
Hola que tal, gracias pro responder.
TFPPalette es type de una librería que viene con Lazarus (FPImage). Es decir, instalas Lazarus y ya.
Como se intuye en el nombre TFP
Palette, sirve para establecer la paleta de colores de una imagen.
Intruseando en Lazarus, encontré el archivo fppalette.inc el cual incluye algunas funciones de ejemplo. Así que aviso que ya tengo la solución a mi problema. Muchas gracias
Código Delphi
[-]
function CreateBlackAndWhitePalette : TFPPalette;
var fppal : TFPPalette;
Col : TFPColor;
begin
fppal:=TFPPalette.Create(2);
Col.Alpha:=AlphaOpaque;
Col.Red:=$FFFF; Col.Green:=$FFFF; Col.Blue:=$FFFF;
fppal.Color[0]:=Col;
Col.Red:=$0000; Col.Green:=$0000; Col.Blue:=$0000;
fppal.Color[1]:=Col;
Result:=fppal;
end;
Código Delphi
[-]
function CreateVGAPalette : TFPPalette;
var fppal : TFPPalette;
begin
fppal:=TFPPalette.Create(16);
fppal.Color[0]:=colBlack;
fppal.Color[1]:=colNavy;
fppal.Color[2]:=colBlue;
fppal.Color[3]:=colMaroon;
fppal.Color[4]:=colPurple;
fppal.Color[5]:=colDkGreen;
fppal.Color[6]:=colRed;
fppal.Color[7]:=colTeal;
fppal.Color[8]:=colFuchsia;
fppal.Color[9]:=colOlive;
fppal.Color[10]:=colGray;
fppal.Color[11]:=colLime;
fppal.Color[12]:=colAqua;
fppal.Color[13]:=colSilver;
fppal.Color[14]:=colYellow;
fppal.Color[15]:=colWhite;
Result:=fppal;
end;
El equivalente en Delphi
Código Delphi
[-]function MakeGrayPalette: HPalette;
var
i: integer;
lp: TMaxLogPalette;
begin
lp.palVersion := $300;
lp.palNumEntries := 2; lp.palPalEntry[0].peRed := 0;
lp.palPalEntry[0].peGreen := 72;
lp.palPalEntry[0].peBlue := 157;
lp.palPalEntry[0].peFlags := PC_RESERVED;
lp.palPalEntry[1].peRed := 96;
lp.palPalEntry[1].peGreen := 174;
lp.palPalEntry[1].peBlue := 255;
lp.palPalEntry[1].peFlags := PC_RESERVED;
Result := CreatePalette(pLogPalette(@lp)^);
end;