Главная страница
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.017 c
8-98754
dies
2003-06-30 12:05
2003.10.30
работа с TIFF


7-98904
DimaK
2003-08-08 13:22
2003.10.30
Hint


1-98625
Tolik
2003-10-17 14:59
2003.10.30
Модальное окно


1-98582
Fantom_
2003-10-21 15:36
2003.10.30
Просто вопрос о наследовании...


3-98463
inspirion
2003-10-10 09:30
2003.10.30
Помогите советом!