Ver Mensaje Individual
  #3  
Antiguo 23-01-2023
Avatar de MAXIUM
MAXIUM MAXIUM is offline
Miembro
 
Registrado: may 2005
Posts: 1.488
Reputación: 20
MAXIUM Va camino a la fama
Cita:
Empezado por duilioisola Ver Mensaje
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 TFPPalette, 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 [-]
{ A simple 1 bit black and white palette }
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 [-]
{ Standard VGA 16 color palette. }
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; //256;
 // for i := 0 TO 255 do begin
     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;
 //  end;
   Result := CreatePalette(pLogPalette(@lp)^);
end;
Responder Con Cita