笔宽不是1的画矩形的问题(50分)

  • 主题发起人 主题发起人 sw7309
  • 开始时间 开始时间
S

sw7309

Unregistered / Unconfirmed
GUEST, unregistred user!
imgXy.Canvas.Pen.Width := 16;
imgXy.Canvas.Pen.Color := ForColor;
imgXy.Canvas.Pen.Style := psSolid;
imgXy.Canvas.Polyline([points]);
用上述代码画出的矩形四个角是圆弧形,有没有办法使四个角变成直角
 
procedure Rectangle(x1,y1,x2,y2:integer);
 
但rectangle是填充的,我不要填充,只要画一个矩形
 
imgXy.Canvas.Pen.Width := 3;
imgXy.Canvas.Pen.Color := clRed;
imgXy.Canvas.Pen.Style := psclear;
imgXy.Canvas.Rectangle(x1,y1,x2,y2);
 
Adv.Canvas.pen.Color := clred;
Adv.Canvas.Pen.Width := 3;
Adv.Canvas.MoveTo(rect.Left, rect.Top);
Adv.Canvas.LineTo(rect.Right, rect.Top);
Adv.Canvas.LineTo(rect.Right, rect.Bottom);
Adv.Canvas.LineTo(rect.left, rect.bottom);
Adv.Canvas.LineTo(rect.left, rect.top);
办法笨一点,效果不差呀
 
自己创建一个Pen, HPen的style参数 PS_ENDCAP_SQUARE 或 PS_ENDCAP_FLAT。然后把一个
TPen的handle 设为Hpen就可以了。
 
>>>但rectangle是填充的,我不要填充,只要画一个矩形
可以加上此句呀Canvas.Bursh.Style := bsClear;

画出的矩形就不填充了。
 
多人接受答案了。
 

Similar threads

后退
顶部