delphi - 绘制椭圆时更改颜色属性?

标签 delphi canvas drawing

嗨,我试图弄清楚在窗体上绘制椭圆时如何改变其颜色。我的代码如下。

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属性,但我似乎无法弄清楚如何为此目的进行更改。

最佳答案

内部的颜色由Canvas.Brush.Color确定。
周边将以Canvas.Pen.Color指定的颜色绘制。


您还需要确保正确设置了Set Canvas.Brush.Style,例如到bsSolid,对于Canvas.Pen.Style也是如此,例如psSolid

TCanvas.Ellipse的文档说明如下:


椭圆使用Pen的值绘制轮廓,并使用Brush的值填充。

关于delphi - 绘制椭圆时更改颜色属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8489497/

相关文章:

JavaScript - 取图像中心

sqlite - 如何使用 FireDAC TFDConnection 迭代表、字段和字段定义

delphi - 以两种不同的方式显示表单

delphi - 如何使用匿名函数?

javascript - HTML5 Canvas translate(0.5,0.5) 未修复线条模糊

javascript - 图像作为按钮

css - 用CSS绘制圆 Angular 三 Angular 形

iOS:当 View 中有两个小的、不相邻的区域需要重绘时,调用 setNeedsDisplayInRect 两次会更快吗?

delphi - 初始化一个常量,它是固定数组的动态数组?

qt - 在 Qt 中通过 Windows GDI 绘制