求画椭圆的代码

mycoldboy 2004-05-05 09:53:58
坐标轴定义:
picture1.scale (-10,10)-(10,-10)
已知圆心为(x,y),长,短半轴为m,n,怎么画椭圆

我写了一个,但画的时候某些数据就是不对,但大部分却对,纳闷。。。。。。
希望那位高手些个源代码给我,谢了。
...全文
209 8 点赞 打赏 收藏 举报
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
northwolves 2004-05-05
use API:

Ellipse

VB声明
Declare Function Ellipse Lib "gdi32" Alias "Ellipse" (ByVal hdc As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
说明
描绘一个椭圆,由指定的矩形围绕。椭圆用当前选择的画笔描绘,并用当前选择的刷子填充
返回值
Long,非零表示成功,零表示失败。会设置GetLastError
参数表
参数 类型及说明
hdc Long,设备场景的句柄
X1,Y1 Long,约束矩形采用逻辑坐标的左上角位置
X2,Y2 Long,约束矩形采用逻辑坐标的右下角位置

  • 打赏
  • 举报
回复
zglnew 2004-05-05
'椭圆 X,Y 当前鼠标点,dx(1),dy(1)为圆心点

If Abs(X - dx(1)) > Abs(Y - dy(1)) Then
R = Abs(X - dx(1))
Else
R = Abs(Y - dy(1))
End If

If X = dx(1) Then
d = LastZBF
Else
d = Abs((Y - dy(1))) / Abs(X - dx(1))
End If

Picture1.Circle (dx(1), dy(1)), R, , , , d
  • 打赏
  • 举报
回复
hhyttppd 2004-05-05
设置短半轴为半径,150/200为长短轴之比。也可以200/150,但图形调了90度
  • 打赏
  • 举报
回复
mycoldboy 2004-05-05
我说的是已知长半轴和短半轴来画椭圆,怎么画?
  • 打赏
  • 举报
回复
chinaren502 2004-05-05
就是3/4
  • 打赏
  • 举报
回复
mycoldboy 2004-05-05
楼上说的看不懂150/200是什么?
  • 打赏
  • 举报
回复
hhyttppd 2004-05-05
Private Sub Command1_Click()
Picture1.ScaleMode = 3
Picture1.Scale (-250, 250)-(250, -250)

Picture1.Circle (0, 0), 20, vbRed
Picture1.Circle (0, 0), 150, vbRed, , , 150 / 200
End Sub

  • 打赏
  • 举报
回复
happywqw 2004-05-05
以前有类似帖子,搜索一下!
  • 打赏
  • 举报
回复
相关推荐
发帖
VB基础类
加入

7545

社区成员

VB 基础类
申请成为版主
帖子事件
创建了帖子
2004-05-05 09:53
社区公告
暂无公告