小编Con*_*dir的帖子

德尔福:以高分辨率绘制弧形

我需要在delphi 2007中开发循环进度条,我不能使用第三方组件(公司政策).我正在使用Canvas,画一个圆弧,这样可以正常工作,但图像的分辨率非常低.画布绘画可以提高分辨率吗?

代码示例:

procedure TForm1.DrawPieSlice(const Canvas: TCanvas; const Center: TPoint;
  const Radius: Integer; const StartDegrees, StopDegrees: Double);
 //Get it in http://delphidabbler.com/tips/148
const
  Offset = 90;
var
  X1, X2, X3, X4: Integer;
  Y1, Y2, Y3, Y4: Integer;
begin
  X1 := Center.X - Radius;
  Y1 := Center.Y - Radius;
  X2 := Center.X + Radius;
  Y2 := Center.Y + Radius;
  X4 := Center.X + Round(Radius * Cos(DegToRad(Offset + StartDegrees)));
  Y4 := Center.y - Round(Radius * Sin(DegToRad(Offset + StartDegrees)));
  X3 := Center.X + Round(Radius …
Run Code Online (Sandbox Code Playgroud)

delphi vcl canvas delphi-2007

2
推荐指数
1
解决办法
3015
查看次数

标签 统计

canvas ×1

delphi ×1

delphi-2007 ×1

vcl ×1