用以在Form, PictureBox 或 Printer 上绘製图形档案(.bmp、.wmf、.emf、.cur、.ico或 .dib)的内容。不支持命名参数。
语法
object.PaintPicturepicture, 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 参数置为空。 |
说明
通过使用负的目标高度值 (height1) 和 / 或目标宽度值 (width1) ,可以水平或垂直翻转点阵图。
可以省略任何多个可选的尾部的参数 。如果省略了一个或多个可选尾部参数,则不能在指定的最后一个参数后面使用逗号。如果想指定某个可选参数,则必须先指定语法中出现在该参数前面的全部参数。
注意,在将一个.Bmp载入入 PictureBox 控制项和使用Windows API 函式 BitBlt() 添加图片之间有一点不同。当您对一个图象使用 BitBlt() 时,PictureBox 控制项不知道象您使用 LoadPicture方法那样去调整大小。将ScaleWidth 和 ScaleHeight 属性设定为图象的大小也不起作用。如果您想在使用 BitBlt 之后用 PictureBox 调整新图片的大小,必须用代码手工做,转换单位并处理框线,下面是如何这样做的一个简单示例:
Sub ResizePictureBoxToImage(pic As PictureBox, twipWd As Integer, twipHt As Integer) ' 该代码假设所有的单位都为缇。如果 ' 不是,必须在调用该例程之前,转换为缇。 ' 这里也假设图象显示在0,0处。 Dim BorderHt As Integer, BorderWd As Integer BorderWd = pic.Width - pic.ScaleWidth BorderHt = pic.Height - pic.ScaleHeight pic.Move pic.Left, pic.Top, twipWd + BorderWd, twipHt + BorderHtEnd Sub