VB如何动态创建图片?Dim pic As Image 然后怎么写?

 我来答
浅唱流年smile
2016-06-14 · 知道合伙人互联网行家
浅唱流年smile
知道合伙人互联网行家
采纳数:636 获赞数:3598
3年互联网行业从业经验,现在公司项目经理。

向TA提问 私信TA
展开全部
'用PaintPicture方法
目标控件.PaintPicture Me.Picture, 0, 0

用法参见MSDN

PaintPicture 方法

用以在 Form, PictureBox 或 Printer 上绘制图形文件(.bmp、.wmf、.emf、.cur、.ico或 .dib)的内容。不支持命名参数。

语法

object.PaintPicture picture, x1, y1, width1, height1, x2, y2, width2, height2, opcode

PaintPicture 方法的语法包含下列部分:

部分 描述
object 可选的。一个对象表达式,其值为“应用于”列表中的一个对象。如果省略 object,带有焦点的 Form 对象缺省为 object。
Picture 必需的。要绘制到 object 上的图形源。Form 或 PictureBox 必须是 Picture 属性。
x1, y1 必需的。均为单精度值,指定在 object 上绘制 picture 的目标坐标(x-轴和y-轴)。object 的 ScaleMode 属性决定使用的度量单位。
Width1 可选的。单精度值,指示 picture 的目标宽度。object 的 ScaleMode 属性决定使用的度量单位。如果目标宽度比源宽度 (width2) 大或小,将适当地拉伸或压缩 picture。如果该参数省略,则使用源宽度。
Height1 可选的。 单精度值,指示 picture 的目标高度。object 的 ScaleMode 属性决定使用的度量单位。如果目标高度比源高度 (height2) 大或小,将适当地拉伸或压缩 picture。如果该参数省略,则使用源高度。
x2, y2 可选的。均为单精度值,指示 picture 内剪贴区的坐标(x-轴和y-轴)。object 的 ScaleMode 属性决定使用的度量单位。如果该参数省略,则缺省为 0。
Width2 可选的。单精度值,指示 picture 内剪贴区的源宽度。object 的 ScaleMode 属性决定使用的度量单位。如果该参数省略,则使用整个源宽度。
Height2 可选的。 单精度值,指示 picture 内剪贴区的源高度。object 的 ScaleMode 属性决定使用的度量单位。如果该参数省略,则使用整个源高度。
Opcode 可选的。是长型值或仅由位图使用的代码。它用来定义在将 pictur 绘制到 object 上时对 picture 执行的位操作(例如, vbMergeCopy 或 vbSrcAnd 操作符)。关于位操作符常数的完整列表,请参阅 Visual Basic Help 文件中的 RasterOp Constants 主题。
在使用opcode时有一些限制。例如,如果资源是图标或图元文件,则只能使用 vbSrcCopy,而不能使用其他的opcode;并且,与图案 (或 SDK 术语中的"画笔"),如 MERGECOPY、 PATCOPY、 PATPAINT 和 PATINVERT,相交互的opcode实际上是同目标的 FillStyle 属性交互。

注意 Opcode 用于将按位操作传递到位图。当传递其他图象类型时将一个值给该参数会造成“无效过程调用或参数”错误。这是设计的原因。要避免这个错误,对于除位图外的图象,将 Opcode 参数置为空。
书飞凝683
2016-06-14 · TA获得超过1518个赞
知道大有可为答主
回答量:2250
采纳率:83%
帮助的人:439万
展开全部
有两种方法。
方法一:
向在窗体上添加一个image1控件,在属性窗口中将其Index属性设置为0(就是定义一个图像框控件数组),然后用下面代码:
Private Sub Command1_Click()
Load Image1(1)
With Image1(1)
.Stretch = True
.Picture = Image1(0)
.Top = 100
.Left = 100
.Visible = True
End With

Load Image1(2)
With Image1(2)
.Picture = Image1(0)
.Top = 100
.Left = 2000
.Visible = True
End With
End Sub
方法二:
Private Sub Command1_Click()
For i = 1 To 4
BqName = "Image" & i
Set Newlbl = Controls.Add("VB.image", BqName)
Newlbl.Move 3500, 500 * i, 1000, 360
Newlbl.Stretch = True
Controls(BqName).Picture = LoadPicture("D:\My Documents\My Pictures\a.jpg")
Newlbl.Visible = True
Next i
End Sub
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式