问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

vb画图的问题

发布网友 发布时间:2023-04-01 06:09

我来回答

4个回答

热心网友 时间:2023-11-18 01:37

楼主只要这样改动就可以相切了。
Picture1.Circle (0, -2), 2 / (Picture1.Width / Picture1.Height)
楼主的问题很有价值,我在回答中也发现了这个有趣的问题。
经过分析,我发现这与图片框的长宽比例有关。还有一点就是不管scale和图片框的
比例如何设置,画的圆从外观看来,总是圆的。而且这里的半径,是否是以x方向为准,
如果图片框的y方向很窄,那么圆有可能超出y的范围。
最终经过测试,我发现了上面的半径系数可以让你的圆永远相切。

热心网友 时间:2023-11-18 01:37

Private Sub Command1_Click()
Picture1.Line (0, 1500)-(1500, 1500)
Picture1.Circle (1500, 1500 + 500), 500
End Sub

圆和直线相切的点 Y的坐标是 圆心坐标Y+半径

热心网友 时间:2023-11-18 01:37

主要是你的图片的Width,Height要设置成相等才可以,另外最后一句要改成

Picture1.Circle (0, -2.5), 2.5

热心网友 时间:2023-11-18 01:38

VB6.0中,没听说过Drawing方法,只知道Circle。不知道Circle哪一点惹到了你,以至于你不想用他。给你个Circle得用法参考。
==============
画圆

Circle 方法可画出圆形和椭圆形的各种形状。另外,Circle 方法还可以画出圆弧(圆的一部分)和楔形饼块。使用变化的 Circle 方法,可画出多种曲线。

为了画圆,Visual Basic 需要给出该圆的圆心位置和它的半径。画一个理想圆的语法是:

[object.]Circle [Step](x, y), radius[, color]

方括号表明 object 和 Step 关键字是任选项。如果不指定 object,则认为指定的就是当前的窗体。x 参数和 y 参数是圆心的坐标,radius 参数是圆的半径。例如,下面语句将画出一个以 (1200,1000) 为圆心、750 为半径的圆:

Circle (1200, 1000), 750

这个语句产生的精确作用,还要依赖于窗体的大小和窗体的坐标系。如果不知道窗体的大小,也就不能知道这个圆是否可见。可使用绘图区的标尺属性,将该圆的圆心置于窗体的中心处:

Circle ((ScaleWidth + ScaleLeft) / 2, (ScaleHeight + _
ScaleTop) / 2), ScaleWidth / 4

此时,关于 ScaleWidth 和 ScaleHeight 所有应知道的是,它们能帮助将图形定位于窗体的中心。

详细信息 在本章前面“改变对象的坐标系统”中详细讨论了 ScaleWidth 和 ScaleHeight 属性。

注意 圆的半径通常是按照水平单位来指定的。如果坐标系使用的水平单位和垂直单位是相同的话(按照缺省规定,应当这样),可以不用考虑单位问题。但如果使用的是自定义标尺,则水平单位和垂直单位可能对应不同的长度。上例中,半径是用水平单位来指定的,可以保证圆的实际高度和实际宽度相等。

Blanker 应用程序创建了一些圆圈,作为多彩地毯演示程序的一部分。该演示程序围绕窗体中心画出一系列虚线圆。这些圆看起来正好象一个编织成的圆形地毯。CircleDemo 过程使用下列语句,在多彩地毯演示程序中画圆:

Sub CircleDemo ()
Dim Radius
'将红色设置为随机数。
R = 255 * Rnd
'将绿色设置为随机数。
G = 255 * Rnd
'将蓝色设置为随机数。
B = 255 * Rnd
'将 x 坐标设置在窗体中间。
XPos = ScaleWidth / 2
'将 y 坐标设置在窗体中间。
YPos = ScaleHeight / 2
'将半径设置在窗体高度的 0 到 50% 之间。
Radius = ((YPos * 0.9) + 1) * Rnd
'用随机颜色画圆。
Circle (XPos, YPos), Radius, RGB(R, G, B)
End Sub

多彩地毯演示程序的结果,显示在图 12.16 中。

图 12.16 Blanker 应用程序里的多彩地毯演示程序

画圆弧
为了用 Circle 方法画出圆弧,应以弧度为单位,给出定义弧线 start 和 end 的角度参数。画圆弧的语法是:

[object.]Circle [Step](x, y), radius, [color], start, end[, aspect]

如果 start 参数或 end 参数是负数的话,Visual Basic 将画一条连接圆心到负端点的线。例如,下面的过程将用消除切片方式画出一个饼。

Private Sub Form_Click ()
Const PI = 3.14159265
Circle (3500, 1500), 1000, , –PI / 2, –PI / 3
End Sub

注意 将度换算成弧度的公式是将度数乘以 Pi/180。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
梦见好多鱼在水里活蹦乱跳 教你如何将让reaver PIN 进度随意更改精确前四位 求个保存PIN进度的方法 ...不上外接键盘,但鼠标一直有用,谁能告诉我怎么回事,先谢了。。_百度... 相机SD卡,卡上图片电脑显示不出来 相机SD卡用读卡器插到电脑上DCIM文件夹不显示照片怎么解决? win10查询错误日志的方法-win10怎么查询错误日志 电脑系统日志文件如何查看电脑里的系统日志 电脑事件日志在哪里看怎样查看电脑使用的日志 win11系统日志在哪里看 win11系统日志怎么看 梦见湖水里有鱼跳 梦见父亲要买棺材我没让买父亲的预兆 梦见爸妈买棺材的预兆 梦见爸爸买棺材回答的预兆 梦见陪爸爸给他自己买棺材的预兆 梦见自己的裤子勾烂了的预兆 梦见外面穿的裤子裤裆上烂了的预兆 梦见朋友下水游泳的预兆 梦见亲人在一摊清澈的水中游泳的预兆 梦见亲人掉下水的预兆 梦见亲人下水游泳的预兆 被冻结了怎么解封? 梦见看见神仙的预兆 怎样划分润滑油的牌号? 医疗保险最后到死了拿钱怎么办? 用电压电流法做电抗器试验(空心) 高压输电线路周围或变电站内工频电磁环境测量的内容,标准及方案 国内对于飞单跳高高的使用有什么*吗?如果在商超等公共经营性场所摆放违法吗? 我想了解一下保险法关于银行网专管员“飞单”一现象,有怎样的处罚规定 如何辨别银行理财中的“飞单”陷阱? 怎样把圆形地垫扩大 梦见帮助同事的预兆 梦见要朋友帮忙的预兆 “基于单幅图像的去雾算法研究”的matlab代码中会出现Out of memeroy 的问题,我应该怎样解决呢? 梦见狗受伤出血的预兆 梦见自己养的宠物受伤的预兆 留学澳洲如何存钱与换汇 澳洲留学需要多少存款证明 申请澳大利亚408签证需要多少存款证明? 澳洲留学生活费的携带方法 梦见很多人一起跑的预兆 周公解梦:梦到拥抱死了的人或者呼喊死了的人的名字,表示此人不久将死去, 梦见路上长着农作物 梦见大学英语老师的预兆 梦见种了好多黑豆的预兆 梦见买两把好菜刀的预兆 梦见米缸里冒出一只蜈蚣啥意思 梦见丈夫给儿子改名字的预兆 梦见自己有儿子了还给他取名字的预兆 战舰世界音效文件在哪