當兩條線段以銳角連接且設定 LineJoinMiter 斜接模式時,連接處會延伸形成尖角。SetMiterLimit 限制這個尖角的最大長度與線寬的比率,防止極銳角產生過長尖刺。預設值 10.0 通常足夠。
LineJoinBevel 斜切模式procedure TForm1.FormPaint(Sender: TObject);
const PtArr: array[0..2] of TGPPoint = ((X:90;Y:80), (X:240;Y:30), (X:240;Y:80));
var g: TGPGraphics; p: TGPPen;
begin
g := TGPGraphics.Create(Canvas.Handle);
p := TGPPen.Create(aclSeaGreen, 28);
p.SetMiterLimit(TrackBar1.Position / 10); {關鍵:設定尖角限制}
g.DrawPolygon(p, PGPPoint(@PtArr), Length(PtArr));
p.Free; g.Free;
end;

| MiterLimit | 銳角連接表現 | 視覺結果 |
|---|---|---|
| 1.0 ~ 2.0 | 幾乎所有銳角被限制 | 全斜切,無尖角 |
| 3.0 ~ 5.0 | 中等銳角保留,極銳角斜切 | 平衡自然 |
| 10.0 (預設) | 大部分銳角保留尖角 | 尖銳幾何感 |
| > 20 | 極銳角也保留 | 可能產生視覺異常長刺 |
object Form1: TForm1
Left = 0
Top = 0
Caption = 'Form1'
ClientHeight = 138
ClientWidth = 266
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
OldCreateOrder = False
Position = poDesktopCenter
OnCreate = FormCreate
OnPaint = FormPaint
PixelsPerInch = 96
TextHeight = 13
object TrackBar1: TTrackBar ... {0~100 對應 0.0~10.0}
end