![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Использование пера с паттерном
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;