求画椭圆的代码

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

我写了一个,但画的时候某些数据就是不对,但大部分却对,纳闷。。。。。。
希望那位高手些个源代码给我,谢了。
...全文
347 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
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
  • 打赏
  • 举报
回复
以前有类似帖子,搜索一下!

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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