scalemode函数(scaler function)
c#里画圆是什么函数
,大小相对大一些,将其ScaleMode属性设为3。
然后放一个按钮,其中加入以下代码:
'这段代码演示了如何使用VB的Circle方法绘制各种各样的圆。
Form1.Picture1.Circle (60, 60), 40, vbRed '画一个圆心(60,60)半径40的红色的圆(默认空心)
Form1.Picture1.FillStyle = 0 '设定填充模式为实心
Form1.Picture1.FillColor = vbBlue '设定填充色蓝色
Form1.Picture1.Circle (190, 60), 40, vbRed '下来画出来的就是填充了实心蓝色的圆了
Form1.Picture1.DrawWidth = 3 '设定边框宽度为3
Form1.Picture1.Circle (60, 190), 40, vbRed '这次绘制出来的圆边框粗细为3
Form1.Picture1.DrawStyle = 5 '设定边框不可见
Form1.Picture1.FillColor = vbRed '设定填充色红色
Form1.Picture1.Circle (190, 190), 40 '这次绘制出来一个无边框、填充颜色是红色的圆
Form1.Picture1.Refresh
然后试试看,对照注释应该就明白了。
————————————————
PS:对楼上 wys_sans给出的方法的评价:
其方法1、根本不能称作画圆;
其方法2、很显然Circle可以直接画实心的圆,只是这位不知道而已;
其方法3、效率极低效果极差的最糟糕方法。
另外,站长团上有产品团购,便宜有保证
vb程序设计中,Cricle函数的使用方法?
难道你装VB时不装MSDN么?在Circle上按F1就应该告诉你啊。
在对象上画圆、椭圆或弧。
语法
object
.Circle
[
Step
]
(
x, y
),
radius,
[
color, start, end, aspect
]
Circle
方法的语法有如下的对象限定符和部分:
部分
描述
object
可选的。 对象表达式,其值为“应用于”列表中的对象。如果
object
省略,具有焦点的窗体作为
object
。
Step
可选的。关键字 ,指定圆、椭圆或弧的中心,它们相对于当前
object
的
CurrentX
和
CurrentY
属性提供的坐标。
(
x
,
y
)
必需的。
Single
(单精度浮点数),圆、椭圆或弧的中心坐标。
object
的
ScaleMode
属性决定了使用的度量单位。
radius
必需的。
Single
(单精度浮点数),圆、椭圆或弧的半径。
object
的
ScaleMode
属性决定了使用的度量单位。
color
可选的。
Long
(长整型数),圆的轮廓的 RGB 颜色。如果它被省略,则使用
ForeColor
属性值。可用
RGB
函数或
QBColor
函数指定颜色。
start
,
end
可选的。
Single
(单精度浮点数),当弧、或部分圆或椭圆画完以后,
start
和
end
指定(以弧度为单位)弧的起点和终点位置。其范围从 -2 pi 到 2 pi 。起点的缺省值是0; 终点的缺省值是2 * pi。
aspect
可选的。
Single
(单精度浮点数),圆的纵横尺寸比。缺省值为 1.0,它在如何屏幕上都产生一个标准圆(非椭圆)。
说明
想要填充圆,使用圆或椭圆所属对象的
FillColor
和
FillStyle
属性。只有封闭的图形才能填充。封闭图形包括圆、椭圆、或扇形。
画部分圆或椭圆时,如果
start
为负,
Circle
画一半径到
start
,并将角度处理为正的;如果
end
为负,
Circle
画一半径到
end
,并将角度处理为正的。
Circle
方法总是逆时针(正)方向绘图。
画圆、椭圆或弧时线段的粗细取决于
DrawWidth
属性值。在背景上画圆的方法取决于
DrawMode
和
DrawStyle
属性值。
画角度为 0 的扇形时,要画出一条半径(向右画一水平线段),这时给
start
规定一很小的负值,不要给 0。
.可以省略语法中间的某个参数,但不能省略分隔参数的逗号。您指定的最后一个参数后面的逗号是可以省略的。
Circle
执行时,
CurrentX
和
CurrentY
属性被参数设置为中心点。
Color=#0000FF#这个方法不能用在
With 与 End With
语句块中。
编一个在屏幕上画图象的函数,懂的人进(能用就送150分)
在屏幕上画图
'例子需控件:Command1、Picture1
Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal X As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As RasterOpConstants) As Long
Private Declare Function GetWindowDC Lib "user32" (ByVal hwnd As Long) As Long
Private Sub Command1_Click()
Dim toDC As Long, dl As Long
Dim nTop As Long, nLeft As Long, nW As Long, nH As Long
'要绘制的图片,这里我举例为窗口图标
'或 Picture1.Picture = LoadPicture(文件名),或从资源文件载入
Picture1.Picture = Me.Icon
Picture1.ScaleMode = vbPixels '将 Picture1 的坐标变为像素单位
Picture1.AutoSize = True
nTop = 20 '距屏幕顶端位置,单位:像素
nLeft = 10 '距屏幕左端位置,单位:像素
nW = Picture1.ScaleWidth '图像宽度
nH = Picture1.ScaleHeight '图像高度
toDC = GetWindowDC(0)
dl = BitBlt(toDC, nLeft, nTop, nW, nH, Picture1.hDC, 0, 0, vbSrcCopy) '返回非零表示成功,零表示失败
End Sub
关于在屏幕上画移动的图像,请到我的qq空间
