Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Bitmap, 8bit. Серая палитра.


DevilDevil ©   (2008-11-13 15:44:00) 

Здравствуйте.

Создаю битмап, PixelFormat = pf8bit.
Потом хочу сделать его серым, делаю Bitmap.Palette := CreateGrayPalette;

Результата почти никакого. Что не так ?


function CreateGreyPalette(): HPALETTE;
var
 i: byte;

 PaletteInfo: record
   palVersion: Word;
   palNumEntries: Word;
   palPalEntry: array[byte] of TPaletteEntry;
 end;

 LogPalette: TLogPalette absolute PaletteInfo;
begin
 ZeroMemory(@PaletteInfo, sizeof(PaletteInfo));
 PaletteInfo.palVersion := $0300;
 PaletteInfo.palNumEntries := 256;

 for i := 255 downto 0 do
 with PaletteInfo.palPalEntry[i] do
 begin
   peRed := i;
   peGreen := i;
   peBlue := i;
 end;

 Result := CreatePalette(LogPalette);
end;


DevilDevil   (2008-11-14 10:13:00) [1]

я думаю, не совсем туда обратился.
дублирую вопрос в ветке "Оснговная".


DevilDevil   (2008-11-14 10:00:00) [2]

> tesseract ©   (13.11.08 21:54) [1]

заполняю 8bit-ный битмап "серыми" данными.

Т.к. по-умолчанию, палитра цветная, но в результате, естественно, я вижу не "серое" изображение. Имеется необходимость быстрой смены палитры на "градацию серого". Как это сделать ?


tesseract   (2008-11-13 21:54:00) [3]


> Результата почти никакого. Что не так ?


Почти это как ? Ты создал палитру, но её присвоение в принципе изображению до фонаря. Причем преобразование вообще странное - чем интересно руководствовался?


Наверх

Титульная страница Поиск, карта сайта Написать письмо