怎样使图象框控件的背景图平铺 vb中图像框的picture属性设置为一个图象文件时,如果图片的尺寸小余图像框时,怎样使图片在图象框控件中平铺呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用image控件吧stretch 为true 在任意位置绘制图形使用 PaintPicture 方法,可以在窗体、图片框和 Printer 对象上的任何地方,绘制图形。PaintPicture 方法的语法是:[object.]PaintPicture pic, destX, destY[, destWidth[, destHeight[, srcX _[, srcY[, srcWidth[, srcHeight[, Op]]]]]]]目标 object 指的是窗体、图片框或 Printer 对象,这些地方都是 pic 图片表现的处所。如果 object 被忽略了,则认为指定的就是当前的窗体。pic 参数必须是一个图片对象,它是由窗体或控件的 Picture 属性决定。destX 和 destY 参数,是按照 objec 的 ScaleMode,该图象将出现的水平和垂直位置。destWidth 和 destHeight 参数是可选项,用来设置在 object 目标中该图象的宽度和高度。srcX 和 srcY 参数是可选项,用来定义 pic 中裁剪区左上角的 x 和 y 坐标。可选的 Op 参数用来定义当在目标 object 上绘图时,在图片上执行的光栅操作(例如,AND 和 XOR)。PaintPicture 方法可代替 BitBlt Windows API 函数,在将矩形图形块从一个地方移到任意另一地方时,它可执行广泛的各种操作。例如,可以使用 PaintPicture 方法生成同一位图的多份副本,并将它们平铺在窗体上。使用这种方法,比在窗体上移动图片控件要快。下列代码是用来平铺图片控件的 100 份拷贝,并且通过给 destWidth 设置一个负值,可以使每张图片进行水平翻转。For i = 0 To 10 For j = 0 To 10 Form1.PaintPicture picF.Picture, j * _ picF.Width, i * picF.Height, _ picF.Width, -picF.HeightNext j, i详细信息 请参阅《语言参考》的“PaintPicture 方法”。 PaintPicture 方法 用以在 Form, PictureBox 或 Printer 上绘制图形文件(.bmp、.wmf、.emf、.cur、.ico或 .dib)的内容。不支持命名参数。语法object.PaintPicture picture, x1, y1, width1, height1, x2, y2, width2, height2, opcodePaintPicture 方法的语法包含下列部分:部分 描述 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 API 的取值问题 关于VB中使用SHELL的问题 请问各位大哥,在VB中能用鼠标键做快捷键吗? VB调用EXCEL文件,速度奇慢,请高手指点 请问如何读取 控制台消息 的记录文件我指的是信使服务的记录 报表打印问题! {快速结贴} 请问如何判断检索出来的字段是否为空? data access error and run time error '91'问题请教 vb 关于数据库文件的保存问题,谢谢各位进来看看的同志! 请问哪里有完整的API大全下载 如何用findfirst查找符合两个条件的纪录!
stretch 为true
使用 PaintPicture 方法,可以在窗体、图片框和 Printer 对象上的任何地方,绘制图形。PaintPicture 方法的语法是:[object.]PaintPicture pic, destX, destY[, destWidth[, destHeight[, srcX _[, srcY[, srcWidth[, srcHeight[, Op]]]]]]]目标 object 指的是窗体、图片框或 Printer 对象,这些地方都是 pic 图片表现的处所。如果 object 被忽略了,则认为指定的就是当前的窗体。pic 参数必须是一个图片对象,它是由窗体或控件的 Picture 属性决定。destX 和 destY 参数,是按照 objec 的 ScaleMode,该图象将出现的水平和垂直位置。destWidth 和 destHeight 参数是可选项,用来设置在 object 目标中该图象的宽度和高度。srcX 和 srcY 参数是可选项,用来定义 pic 中裁剪区左上角的 x 和 y 坐标。可选的 Op 参数用来定义当在目标 object 上绘图时,在图片上执行的光栅操作(例如,AND 和 XOR)。PaintPicture 方法可代替 BitBlt Windows API 函数,在将矩形图形块从一个地方移到任意另一地方时,它可执行广泛的各种操作。例如,可以使用 PaintPicture 方法生成同一位图的多份副本,并将它们平铺在窗体上。使用这种方法,比在窗体上移动图片控件要快。下列代码是用来平铺图片控件的 100 份拷贝,并且通过给 destWidth 设置一个负值,可以使每张图片进行水平翻转。For i = 0 To 10
For j = 0 To 10
Form1.PaintPicture picF.Picture, j * _
picF.Width, i * picF.Height, _
picF.Width, -picF.Height
Next j, i详细信息 请参阅《语言参考》的“PaintPicture 方法”。
PaintPicture 方法
用以在 Form, PictureBox 或 Printer 上绘制图形文件(.bmp、.wmf、.emf、.cur、.ico或 .dib)的内容。不支持命名参数。语法object.PaintPicture picture, x1, y1, width1, height1, x2, y2, width2, height2, opcodePaintPicture 方法的语法包含下列部分:部分 描述
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 + BorderHt
End Sub