如何画一个扇形,并可以填充颜色?(向扇形填充)

jintty 2003-06-02 10:26:30
RT,谢谢大家!
...全文
483 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jintty 2003-06-02
  • 打赏
  • 举报
回复
严重同意 propEdit
winder_008 2003-06-02
  • 打赏
  • 举报
回复
上面的可行。
bbs791109 2003-06-02
  • 打赏
  • 举报
回复
上面的可行。
lion_lh 2003-06-02
  • 打赏
  • 举报
回复
Delphi的Demo\propEdit下有个画扇形的控件
lion_lh 2003-06-02
  • 打赏
  • 举报
回复
procedure TForm1.Button1Click(Sender: TObject);
var
x, y : Integer;
angle : Double;
i : Integer;
begin
angle := 60/90*pi/2 / 160;
Canvas.Brush.Color := clRed;
Canvas.Pie(-512, -512, 512, 512, Round(512 * cos(angle * 160)),
Round(512 * sin(angle * 160)), 0, 0);
for i := 1 to 160 do
begin
y := Round(512 * sin(angle * i));
x := Round(512 * cos(angle * i));
Canvas.MoveTo(0, 0);
Canvas.LineTo(x, y);
end;
end;
citytramper 2003-06-02
  • 打赏
  • 举报
回复
例子我也没有

我跟你简单说一下吧,rgn是一种区域,CreateEllipticRgn创建椭圆区域,CreatePolygonRgn创建多边形区域,CreateRoundRectRgn创建矩形的内切圆或椭圆
CombineRgn 可以对两个区域进行 并,与,减等操作

FillRgn可以在区域里填充颜色

你可以先建一个圆rgn1通过CombineRgn把它割去一块rgn2,然后建一个三角rgn3,在把rgn3和rgn2合并起来就一个扇形,再用fillrgn填上颜色就可以了
Forllx 2003-06-02
  • 打赏
  • 举报
回复
Maybe Can use Canvas.Pie
jintty 2003-06-02
  • 打赏
  • 举报
回复
晕,能不能给例子?
citytramper 2003-06-02
  • 打赏
  • 举报
回复
HRGN你知道吗?

个你些api函数,通过这些东西就可以
CombineRgn
CreateEllipticRgn
CreateEllipticRgnIndirect
CreatePolygonRgn
CreatePolyPolygonRgn
CreateRectRgn
CreateRectRgnIndirect
CreateRoundRectRgn
EqualRgn
ExtCreateRegion
FillRgn
FrameRgn
GetPolyFillMode
GetRegionData
GetRgnBox
InvertRgn
OffsetRgn
PaintRgn
PtInRegion
RectInRegion
SetPolyFillMode

jintty 2003-06-02
  • 打赏
  • 举报
回复
??

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧