![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос по Bitmap [D5, WinME]
Bananos © (2003-01-19 23:56:00)Почему, когда я изменяю значение PixelFormat с какого ни будь на pf1Bit картинка становится двухцветная, но не чёрно-белая, а чёрно-бардовая. Как от этого избавится?
Danlicha (2003-01-24 03:08:00) [1]По-моему, нужно картинку самому, ручками преобразовывать в чёрно-белуюю, затем, гогда точно знаешь, что в ней только два чвета, можно и пф менять - думаю, Борман, не станет для картинки с двума цветами делать поллитру с совершенно друтими цветами. Чем этот способ хорош - можно сделать регулатор порога - с какого уровня яркости считать пиксел белым.
Bananos (2003-01-24 01:34:00) [2]Когда уменьшаем число бит на пиксел, многие цвета конечно теряются. Мне просто надо 24-битную картинку сделать чёрно-белой и сохранить. Но если только два цвета - нет смысла сохранять её полноцветной. Я присваивал свойству PixelFormat значение pf1Bit и отображал. Получалась чёрно-бардовая картинка.
Я нашёл решение: преобразовывал исходную картинку в чёрно-белую, копировал на другую однобитную через BitBlt.
Но ясно, что это не рационально.
Буду учится работать с пальтрой.
Как создать чёрно-белую палитру?
Mihey (2003-01-23 22:07:00) [3]М-да, а с палитрой тоже Borland будет работать??? Вот тебе и бело-бордовый. А поменял бы 24bit в 8bit - так там вообще тебе обрезалось бы всё.
Bananos (2003-01-23 17:17:00) [4]Помогло BitBlt на 1-битное изображение.
Изменят PixelFormat естественно можно, т.к. это свойство класса TBitmap.
MBo (2003-01-20 13:28:00) [5]>Потому, что значение PixelFormat нельзя менять
В Борланд так не думают:
Use PixelFormat to change a TBitmap"s internal image to a particular memory format and color depth
Mihey (2003-01-20 13:05:00) [6]Потому, что значение PixelFormat нельзя менять.
MBo (2003-01-20 06:10:00) [7]потому что палитра неправильная.
попробуй TBitmap.Monochrome, а также
CopyImage с LR_MONOCHROME