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

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

Использование пера с паттерном


likeanangel ©   (2003-08-01 16:42:00) 

День добрый, уважаемые Мастера!

Не подскажет ли кто-нибудь, а еще лучше - подкрепив это примером кода - каким образом создать графическое перо по определенному паттерну? В документации MSDN сказано, что надо вызвать ExtCreatePen(), передать ей LOGBRUSH с флагом BS_DIBPATTERN, в качестве lbHatch передать указатель на упакованный DIB (конкретно - на структура BITMAPINFO), который еще надо как-то получить, и т.д...
Пробовал читать BMP-файл с диска, перебрасывать указатель от начала на длина BITMAPFILEHEADER и передавать в функцию, но неуспешно! Помогите советом!!!


MBo   (2003-08-01 17:00:00) [1]

procedure TForm1.Button2Click(Sender: TObject);
var hp:HPen;
b:TLogBrush;
( PS_GEOMETRIC+PS_SOLID ,10,b,0,nil)

procedure TForm1.Button2Click(Sender: TObject);
var hp:HPen;
b:TLogBrush;
bm:TBitmap;
begin
b.lbStyle:=BS_HATCHED;
b.lbColor:=clBlue;
b.lbHatch:=HS_DIAGCROSS ;
hp:=ExtCreatePen(PS_GEOMETRIC+PS_SOLID ,10,b,0,nil);
canvas.pen.handle:=hp;
Canvas.rectangle(10,10,200,200);
bm:=TBitmap.Create;
bm.loadfromfile("E:\outplus.bmp");
b.lbStyle:=BS_PATTERN;
b.lbColor:=DIB_RGB_COLORS;
b.lbHatch:=bm.handle;
hp:=ExtCreatePen(PS_GEOMETRIC+PS_SOLID ,10,b,0,nil);
canvas.pen.handle:=hp;
Canvas.rectangle(210,10,400,200);
DeleteObject(hp);
bm.Free;
end;


Наверх

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