Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.30;
Скачать: CL | DM;

Вниз

Палитра TBitmap   Найти похожие ветки 

 
Andrew S   (2003-06-26 18:39) [0]

Доброго времени суток!
Если не трудно помогите разобраться с палитрой TBitmap. Как создать, а потом изменить? Мне нужно 256 цветов в палитре.
Пробовал пример из FAQ, но толкового ничего не вышло.
Желательно разжевать поподробнее, я в Delphi пока чайник.


 
MBo ©   (2003-06-26 19:07) [1]

пример в хелпе по TBitmap.Palette

Или SetDibColorTable
или CreatePalette+SetPalette


 
Dimaxx ©   (2003-06-28 19:29) [2]

Вот как я это делал:

Создание палитры

var Pal: PLogPalette;
Cadr: PBitmap;
NumColors: integer;
...
NumColors:=256;
// Запросим блок памяти под палитру
GetMem(Pal,sizeof(PLogPalette)+NumColors*sizeof(TPaletteEntry));
for I:=0 to pred(NumColors) do
begin
// Запишем цвета в таблицу
Pal^.palPalEntry[I].peRed:=...;
Pal^.palPalEntry[I].peGreen:=...;
Pal^.palPalEntry[I].peBlue:=...;
Pal^.palPalEntry[I].peFlags:=0;
( Pal^)
Вот как я это делал:

Создание палитры

var Pal: PLogPalette;
Cadr: PBitmap;
NumColors: integer;
...
NumColors:=256;
// Запросим блок памяти под палитру
GetMem(Pal,sizeof(PLogPalette)+NumColors*sizeof(TPaletteEntry));
for I:=0 to pred(NumColors) do
begin
// Запишем цвета в таблицу
Pal^.palPalEntry[I].peRed:=...;
Pal^.palPalEntry[I].peGreen:=...;
Pal^.palPalEntry[I].peBlue:=...;
Pal^.palPalEntry[I].peFlags:=0;
end;
// Создадим палитру для кадра
Pal^.palVersion:=$300;
// Нужное число цветов
Pal^.palNumEntries:=NumColors;
Cadr.Palette:=CreatePalette(Pal^);
...


После удаления битмапа делаем FreeMem(Pal). Удачи!


 
Mihey ©   (2003-06-28 20:38) [3]

В справке по Delphi можно набрать: "Palette,TBitmap". Там хороший example.



Страницы: 1 вся ветка

Текущий архив: 2003.10.30;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.014 c
3-98491
vivk
2003-10-08 20:35
2003.10.30
При настройке SQLConnection выходи unable to load LIBMYSL.dll


14-98802
Danilka
2003-10-13 08:19
2003.10.30
Ужас.. вранье это или правда? :))


1-98710
snake1977
2003-10-21 11:48
2003.10.30
TLabel


4-98923
aldapooh
2003-08-26 12:01
2003.10.30
Работа с учетными записями (продолжение)


1-98586
slap
2003-10-20 08:54
2003.10.30
BeginThread