Заливка кистью(brush), созданной на основе Tbitmap

  • Автор темы ToM-CrazY
  • Дата начала
T

ToM-CrazY

#1
Суть в следующем. Имеется файл 23.bmp(8x8 пикселей) цвета только чёрный и белый. Черным цветом нанесена линия(некоторый стиль заливки), белым - фон.
Создаю кисть с помощью функции CreatePatternBrush на основе битмапа таким образом:


HBRUSH brush;
Graphics::TBitmap *bm = new Graphics::TBitmap();
bm->Height = 8;
bm->Width = 8;
bm->LoadFromFile("C:\\23.bmp");
brush = CreatePatternBrush(bm->Handle);

Затем заливаю некоторую область данной кистью:

SelectObject(Canvas->Handle, brush);
Rectangle(Canvas->Handle, 50,50,150,150);


При заливке получаются чёрные линии на белом фоне.
Возникает вопрос. Каким образом и вообще имеется ли возможность получить хэндл типа HBRUSH на эту кисть так, чтобы при заливке, линии прорисовывались определённым цветом(в нашем случае чёрным), а фон был прозрачным? Т.е. "прозрачность" должна непосредственно содержаться в кисти.
Если использовать функцию TransparentColor из VCL для Bitmap'a результат остаётся таким же.
В общем то в задании требуется создать свои стили кисти используя готовые графические файлы (bmp). Причём цвет фона и заливки варьируются и могут содержать прозрачность для фона. Есть у кого какие мысли?
Заранее благодарен.