Главная страница
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.026 c
14-98840
ZeroDivide
2003-10-10 15:47
2003.10.30
А ведь седня тяпница ;)


3-98513
Beton
2003-10-08 19:46
2003.10.30
Числа прописью


1-98698
Маратей_И
2003-10-21 10:49
2003.10.30
Как получить наименование каталога Windows, версию Windows


1-98604
lasso
2003-10-21 16:14
2003.10.30
форма


1-98648
REA
2003-10-21 15:19
2003.10.30
TOleContainer