vb 让图片平铺到PictureBox控件里,这里提供2种方法

方法一:
Private Sub Form_Click()
Dim 高数量 As Long,宽数量 As Long
Dim X As Long,Y As Long
Picture2.BorderStyle = 0
Picture2.Picture = LoadPicture( "C:/1.BMP ")
Picture2.AutoSize = True
宽数量 = Int(Picture1.Width / Picture2.Width)
If 宽数量 * Picture2.Width < Picture1.Width Then
宽数量 = 宽数量 + 1
End If
高数量 = Picture1.Height / Picture2.Height
If 高数量 * Picture2.Height < Picture1.Height Then
高数量 = 高数量 + 1
End If

For Y = 0 To 高数量
For X = 0 To 宽数量
Picture1.PaintPicture Picture2.Picture,_
X * Picture2.Width,Y * Picture2.Height
Next X
Next Y
End Sub
方法二:
Option Explicit Private Declare Function StretchBlt Lib "gdi32 " (ByVal hdc 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 nSrcWidth As Long,ByVal nSrcHeight As Long,ByVal dwRop As Long) As Long Private Declare Function BitBlt Lib "gdi32 " (ByVal hDestDC As Long,ByVal dwRop As Long) As Long Private Const SRCCOPY = &HCC0020 Private Const SRCAND = &H8800C6 Private Const SRCERASE = &H440328 Private Const SRCINVERT = &H660046 Private Const SRCPAINT = &HEE0086 Private Sub Form_Paint() Dim W As Single,H1 As Single,W1 As Single,H As Single Dim pic As Picture '先清空窗体上原有图片背景 Cls '如果出现异常错误,转向错误处理语句 On Error GoTo ErrorPic picFrom.AutoRedraw = True picFrom.AutoSize = True picFrom.Visible = False picFrom.Picture = LoadPicture( "E:/背景/素材/bkic007.gif ") '下面将图片排满整个窗体 W = 0 H1 = picFrom.ScaleHeight / 15 W1 = picFrom.ScaleWidth / 15 While W < ScaleWidth H = 0 While H < ScaleHeight ' Me.hdc,W,H,picFrom.Width,picFrom.Height,picFrom.hdc,SRCCOPY BitBlt Me.hdc,SRCCOPY H = H + H1 Wend W = W + W1 Wend Exit Sub ErrorPic: MsgBox Err.Description,vbCritical End Sub picFrom是一个picturebox控件

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...