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

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

Вопрос по 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


Наверх

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