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

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

Создание черно - белого TBitmap


bkv ©   (2003-04-18 15:56:00) 

Возникла проблема: создать чероно - белый TBitmap.
Создаю TBitmap, ставлю Monohrome:= true и получаю TBitmap с фоном серого цвета. Почему так? А надо просто белый!


Fenik   (2003-04-18 21:01:00) [1]

http://delphibase.endimus.com/?action=viewfunc&topic=mediaimg&id=10176

Threshold(Bitmap, 127, clWhite, clBlack);


MBo   (2003-04-18 16:45:00) [2]

Monochrome не нужно.

>Откуда вообще берется серый фон в TPaintBox?
Не разбирался. Проследи по исходникам разницу в Monochrome и pf1bit


bkv   (2003-04-18 16:41:00) [3]

Я разобрался что к чему, но почему так не пойму- в графике не силен.
PixelFormat:= pf1Bit; - решает проблему, но тоже своеобразно:
Следующая ситуация:
bmp := TBitmap.Create;
bmp.Monochrome:= true;
bmp.Width:= 100;
bmp.Height:= 100;
bmp.PixelFormat:= pf1Bit;
- в этой ситуации bmp отображается правильно и в TPaintBox и в TImage
Следующая ситуация:
bmp := TBitmap.Create;
bmp.Monochrome:= true;
bmp.PixelFormat:= pf1Bit;
bmp.Width:= 100;
bmp.Height:= 100;
- в этой ситуации bmp отображается правильно и в TPaintBox c серым фоном!
Откуда вообще берется серый фон в TPaintBox?





MBo   (2003-04-18 16:26:00) [4]

попробуй
b.pixelformat:=pf1bit;


bkv   (2003-04-18 16:24:00) [5]

Создаю я его обыкновенно:
bmp := TBitmap.Create;
bmp.Monochrome:= true;....
Я провери - создаеься он с беллым фонном, но когда я вывожу его
в TPaintBox , то он выводится серым!
Две строчки: Вывожу один и тотже BMP -
- в первом случае рисуется с серым фоном, а во втором, при выводе в TImage все нормально- фон белый! В чем может быть проблема?
PaintBox.Canvas.StretchDraw(Rect(0,0,100,100), CurrBmp); Image1.Canvas.StretchDraw(Rect(0,0,100,100),Currbmp);


MBo   (2003-04-18 16:00:00) [6]

код?


Наверх

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