![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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]
> Результата почти никакого. Что не так ?
Почти это как ? Ты создал палитру, но её присвоение в принципе изображению до фонаря. Причем преобразование вообще странное - чем интересно руководствовался?