创建调色板
Posted 游子日月长
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建调色板相关的知识,希望对你有一定的参考价值。
procedure TForm1.Button1Click(Sender: TObject); var lpPalette : PLogPalette; hPal : hPalette; i : integer; begin {Allocate the memory used by the palette} GetMem(lpPalette, sizeof(TLogPalette) + (255 * sizeof(TPaletteEntry))); {Fill out the palette header} lpPalette^.palVersion := $300; lpPalette^.palNumEntries := 256; {Turn range checking off if it is on and} {remember the range checking state} {$IFOPT R+} {$DEFINE CKRANGE} {$R-} {$ENDIF} {Fill in the palette structure color table with shades of gray} for i := 0 to 255 do begin lpPalette^.PalPalEntry[i].peRed := i; lpPalette^.PalPalEntry[i].peGreen := i; lpPalette^.PalPalEntry[i].peBlue := i; end; {Turn range checking back on if it was on when we started} {$IFDEF CKRANGE} {$UNDEF CKRANGE} {$R+} {$ENDIF} {Create a palette handle} hPal := CreatePalette(lpPalette^); {Free the memory use by the palette structure} FreeMem(lpPalette, sizeof(TLogPalette) + (255 * sizeof(TPaletteEntry))); {Do something with the palette here} {Delete the palette handle after use} DeleteObject(hPal); end;
以上是关于创建调色板的主要内容,如果未能解决你的问题,请参考以下文章