Подскажите по палитре TBitmap

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Подскажите по палитре TBitmap

Сообщение kotompazb » 26.12.2015 02:16:44

Ткните пожалуйста носом.
Имеется (допустим) Bitmap c глубиной цвета 4 bpp и отдельно палитра в виде набора RGB-цветов (массив, например).
Нужно заменить палитру Битмапа на мою. И сам принцип в общем полезно б понять.
Спасибо.

Замечание.
Делаю просмотр "экзотики". Можно было бы просто использовать 24 bpp и писать напрямую через scanlines готовые цвета, но так как исходные картинки "малоцветные", решил, что 4 будет достаточно.
Как делал раньше. Полностью создавал в памяти структуру битмапа с заголовком, заполнял все нужными мне значениями, а потом перебрасывал в битмап через MemoryStream O_o
Аватара пользователя
kotompazb
постоялец
 
Сообщения: 151
Зарегистрирован: 21.06.2012 13:03:39
Откуда: Novosibirsk, xUSSR

Re: Подскажите по палитре TBitmap

Сообщение Vadim » 27.12.2015 07:02:08

kotompazb
Можно присвоисть свою палитру TBitmap.Palette, создав её предварительно с помощью функции CreatePalette(). Правда сам я этой функцией никогда не пользовался, так что подробных объяснений не будет. :-) Проще всего, если у Вас уже есть файл с такой палитрой, скопировать её оттуда.
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Подскажите по палитре TBitmap

Сообщение kotompazb » 29.12.2015 01:36:24

Спасибо.
Да отказался я от этой идеи уже.
Делаю, как делал раньше. Все данные пишу в стрим потом загружаю из него в битмап, ну и стрим обнуляю. По крайней мере не предвижу пока проблем с такими костылями:)
Аватара пользователя
kotompazb
постоялец
 
Сообщения: 151
Зарегистрирован: 21.06.2012 13:03:39
Откуда: Novosibirsk, xUSSR


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14

Рейтинг@Mail.ru