Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Цвета в C++Builder


Автор: Array 5.9.2004, 23:51
Помогите, пожалуйста разобраться с цветами в C++Builder 6!
Имеется такой код:
Код
.
...........        
Image1->Picture->LoadFromFile("fonmap.bmp");//фоновая картинка

..........

Image1->Canvas->Brush->Style = bsSolid;
Image1->Canvas->Brush->Color=clRed;

Image1->Canvas->FloodFill(200, 200, clBlack, fsBorder);//замкнутый контур черного цвета определен здесь раньше

    Graphics::TBitmap *bp = new Graphics::TBitmap;
      bp->LoadFromFile("Bitmap1.bmp");
      bp->Transparent=true;
       Image1->Canvas->Draw(0,0,bp);//копирование картинки с белым фоном, который должен быть транспарентным,левый верхний пиксел белый.
..........

Этот код заполняет требуемую область(FloodFill) и нормально выводит картинку.НО! Все это черное!!! Хотя Brush установлен красным и картинка Bitmap1 в оригинале цветная на белом фоне. Почему так происходит и что делать?
Заранее спасибо.


Автор: Конструктор 6.9.2004, 10:50
А какой цветности картинка? Если с палитрой (256 цветов), то тогда вполне вероятно что билдер просто сопоставляет не те цвета. А этом случае попробуй грузить 32-битный bitmap.
Или на совсем худой конец 16-цветный.

Автор: Array 7.9.2004, 00:56
Да картинка и так 16-цветная. А кроме того, это ведь не относится к заполнению FloodFill.
Может быть все как-то зависит от свойств Image1?

Автор: Конструктор 7.9.2004, 12:22
Хм, попробовал все нормально. Залилось красным. Транспарентная картинка вывелась верно. Цветов 16. Но картинки замучены в Paint, поэтому имеют одинаковую палитру. Проверь чтобы у обоих рисунков были одинаковые палитры. Желательно вообще системные.

Автор: Array 8.9.2004, 01:18
Разобрался! У меня фоновая картинка(fonmap.bmp) большая (2000 на
2000) и я задал ее как черно-белую матрицу. Хотелось, чтоб меньше весила... biggrin.gif . А оказывается что это картинка определяет свойства канвы. Я этого не знал-- пока еще новичок в Builder'е.

Конструктор Спасибо, что сориентировал в правильном направлении.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)