ellipse

  name="google_ads_frame" marginwidth="0" marginheight="0" src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-5572165936844014&dt=1193665761703&lmt=1193665780&format=336x280_as&output=html&correlator=1193665761687&url=http%3A%2F%2Fwww.codeguru.cn%2Fpublic%2Fiframe%2Fwinapiiframe.htm&color_bg=FFFFFF&color_text=000000&color_link=000000&color_url=FFFFFF&color_border=FFFFFF&ad_type=text&ga_vid=1285758818.1193665762&ga_sid=1193665762&ga_hid=111695597&flash=9&u_h=768&u_w=1024&u_ah=740&u_aw=1024&u_cd=32&u_tz=480&u_his=8&u_java=true" frameborder="0" width="336" scrolling="no" height="280" allowtransparency="allowtransparency">     函数功能:该函数用于画一个椭圆,椭圆的中心是限定矩形的中心,使用当前画笔画椭圆,用当前的画刷填充椭圆。

    函数原型:BOOL Ellipse(HDC hdc, int nLeftRect, int nTopRect, nRightRect, int nBottomRect);

    参数:

    hdc:设备环境句柄。

    nLeftRect:指定限定矩形左上角的X坐标。

    nTopRect:指定限定矩形左上角的Y坐标。

    nRightRect:指定限定矩形右上角的X坐标。

    nBottomRect:指定限定矩形右上角的Y坐标。

    返回值:如果函数调用成功,返回值非零;如果函数调用失败,返回值是0。

    Windows NT:若想获得更多错误信息,请调用GetLastError函数。

    备注:椭圆既不使用也不改变当前位置。

    Windows 95和Windows 98:限定矩形的坐标值之和不能超过32767。nLeftRect与nRigthRect或nTopRectn与BottomRect之和不能超过32767。

    速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:wingdi.h;库文件:gdi32.lib。

### C# 中 Ellipse 的用法及其属性 #### 在 WPF 中使用 Ellipse 控件 `Ellipse` 是 WPF 提供的一种图形基元,用于绘制椭圆形状。该控件继承自 `Shape` 类并支持多种绘图操作。 创建一个简单的 `Ellipse` 并设置其基本属性: ```xml <Ellipse Width="100" Height="50" Fill="Blue"/> ``` 上述 XAML 代码定义了一个宽度为 100 像素、高度为 50 像素且填充颜色为蓝色的椭圆形[^1]。 除了通过 XAML 定义外,在后台代码中也可以动态实例化 `Ellipse` 对象: ```csharp var ellipse = new Ellipse(); ellipse.Width = 100; ellipse.Height = 50; ellipse.Fill = Brushes.Blue; // 将 Ellipse 添加到布局容器中 somePanel.Children.Add(ellipse); ``` 对于更复杂的场景,可以利用路径几何 (`PathGeometry`) 或者其他高级特性来实现定制化的视觉效果。 #### 在 Windows Forms 中模拟 Ellipse 功能 Windows Forms 自身并没有直接提供名为 `Ellipse` 的控件;但是可以通过 `System.Drawing.Graphics.DrawEllipse()` 方法达到相同目的。 下面是一个简单例子展示如何在一个窗体上画出一个椭圆: ```csharp protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); using (Pen pen = new Pen(Color.Black)) { // 绘制边界框大小为 100x50 的椭圆 e.Graphics.DrawEllipse(pen, 0, 0, 100, 50); // 如果还需要填充内部,则可使用 FillEllipse() using (Brush brush = new SolidBrush(Color.LightSkyBlue)) { e.Graphics.FillEllipse(brush, 0, 0, 100, 50); } } } ``` 此方法允许开发者灵活控制线条样式以及填充模式等细节[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值