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

Вниз

Bitmap, 8bit. Серая палитра.   Найти похожие ветки 

 
DevilDevil   (2008-11-13 15:44) [0]

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

Создаю битмап, 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;


 
tesseract ©   (2008-11-13 21:54) [1]


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


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


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

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

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

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


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

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



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

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

Наверх




Память: 0.47 MB
Время: 0.01 c
2-1259427836
sagitt
2009-11-28 20:03
2010.01.17
Не работает RefResh под Vista


8-1200143658
452
2008-01-12 16:14
2010.01.17
Как вывести текст в центре Canvas по вертикали и горизонтали?


3-1233477899
Noir
2009-02-01 11:44
2010.01.17
РЕгистрация


15-1258634939
И. Павел
2009-11-19 15:48
2010.01.17
Брак или клавиатура с ИИ?


2-1259313490
Molchanov
2009-11-27 12:18
2010.01.17
Application.Title := Const