【问题标题】:Change Color Property when Drawing an Ellipse?绘制椭圆时更改颜色属性?
【发布时间】:2011-12-13 12:47:02
【问题描述】:

您好,我想弄清楚在表格上绘制椭圆时如何更改它的颜色。我的代码如下。

procedure TForm3.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
  if ssalt in shift then
     form3.canvas.Ellipse(x-10,y-10,x+10,y+10)
  else
     if ssCtrl in shift then
        form3.canvas.Ellipse(x-10,y-10,x+10,y+10);    
end;

我知道在使用 tshape 组件时椭圆有一个 Brush.style 属性,但我似乎不知道如何为此目的更改它。

【问题讨论】:

    标签: delphi canvas drawing


    【解决方案1】:
    1. 内部颜色由Canvas.Brush.Color决定。
    2. 将使用Canvas.Pen.Color 指定的颜色绘制周边。

    您还需要确保 Set Canvas.Brush.Style 设置正确,例如bsSolidCanvas.Pen.Style,例如psSolid.

    TCanvas.Ellipse 的文档是这样声明的:

    椭圆用 Pen 的值勾勒,用 Brush 的值填充。

    【讨论】: