我编写了一个例程,它应该向位图添加虚线边框:

procedure AddDottedBorderToBitmap(aBM: Vcl.Graphics.TBitmap);
var
  c: TCanvas;
begin
  c := aBM.Canvas;
  c.Pen.Color := clBlack;
  c.Pen.Mode  := pmXor;
  c.Pen.Style := psDot;

  c.MoveTo(0, 0);
  c.LineTo(0, aBM.Height - 1);
  c.LineTo(aBM.Width - 1, aBM.Height - 1);
  c.LineTo(aBM.Width - 1, 0);
  c.LineTo(0, 0);
end;

但是当放大结果时,生成的边界线而不是点似乎是由小破折号组成的:

delphi - 在 TBitmap 周围绘制点的边界线?-LMLPHP

这样对吗?如果没有,我怎样才能得到真正的点而不是破折号?

最佳答案

DrawFocusRect 这是一个 Windows API 调用,可以根据需要制作边框。

procedure AddDottedBorderToBitmap(aBM: Vcl.Graphics.TBitmap);
begin
  DrawFocusRect(aBM.canvas.Handle,Rect(0,0,aBM.Width,aBM.Height));
end;

关于delphi - 在 TBitmap 周围绘制点的边界线?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44659359/

10-10 16:55