Public Sub mosaic() Dim r As Long Dim g As Long Dim w As Long Dim h As Longw = Text1.Text h = Text2.Text row = Int(Picture1.ScaleWidth / w) lin = Int(Picture1.ScaleHeight / h) rl = Picture1.ScaleWidth Mod h ll = Picture1.ScaleHeight Mod w For y = 0 To (lin - 1) * h Step h For x = 0 To (row - 1) * w Step w For k = x To w - 1 For j = y To h - 1 r = ColOut(2, k, j) g = ColOut(1, k, j) b = ColOut(0, k, j) Next j Next k For k = x To w - 1 For j = y To h - 1 ColOut(2, k, j) = r / (w * h) ColOut(1, k, j) = g / (w * h) ColOut(0, k, j) = b / (w * h) Next j Next k Picture2.Refresh Next x
If rl <> 0 Then xl = Picture1.ScaleWidth - rl For k = x To xl - 1 For j = y To h - 1 r = ColOut(2, k, j) g = ColOut(1, k, j) b = ColOut(0, k, j) Next j Next k For k = x To xl - 1 For j = y To h - 1
ColOut(2, k, j) = r / (xl * h) ColOut(1, k, j) = g / (xl * h) ColOut(0, k, j) = b / (xl * h) Next k Next j Picture2.Refresh End If Next y
If ll <> 0 Then yl = Picture.ScaleHeight - ll For x = 0 To (row - 1) * w Step w For k = x To w - 1 For j = y To yl - 1 r = ColOut(2, k, j) g = ColOut(1, k, j) b = ColOut(0, k, j) Next j Next k For k = x To w - 1 For j = y To yl - 1
ColOut(2, k, j) = r / (w * yl) ColOut(1, k, j) = g / (w * yl) ColOut(0, k, j) = b / (w * yl) Next k Next j Picture2.Refresh End If Next x
If rl <> 0 Then xl = Picture1.ScaleWidth - rl yl = Picture.ScaleHeight - ll For k = x To xl - 1 For j = y To yl - 1 r = ColOut(2, k, j) g = ColOut(1, k, j) b = ColOut(0, k, j) Next j Next k For k = x To xl - 1 For j = y To yl - 1
ColOut(2, k, j) = r / (xl * yl) ColOut(1, k, j) = g / (xl * yl) ColOut(0, k, j) = b / (xl * yl) Next k Next j Picture2.Refresh End If End If End Sub 这短程序哪里出错了
Public Sub mosaic() Dim r As Long Dim g As Long Dim w As Long Dim h As Longw = Text1.Text h = Text2.Text row = Int(Picture1.ScaleWidth / w) '马赛克列数-1 lin = Int(Picture1.ScaleHeight / h) '马赛克行数-1 rl = Picture1.ScaleWidth Mod h '所余块中的列数 ll = Picture1.ScaleHeight Mod w '所余块中的行数 For y = 0 To (lin - 1) * h Step h For x = 0 To (row - 1) * w Step w For k = x To w - 1 For j = y To h - 1 r = ColOut(2, k, j) g = ColOut(1, k, j) b = ColOut(0, k, j) Next j Next k For k = x To w - 1 For j = y To h - 1 ColOut(2, k, j) = r / (w * h) ColOut(1, k, j) = g / (w * h) ColOut(0, k, j) = b / (w * h) Next j Next k Picture2.Refresh Next x
If rl <> 0 Then xl = Picture1.ScaleWidth - rl For k = x To xl - 1 For j = y To h - 1 r = ColOut(2, k, j) g = ColOut(1, k, j) b = ColOut(0, k, j) Next j Next k For k = x To xl - 1 For j = y To h - 1
ColOut(2, k, j) = r / (xl * h) ColOut(1, k, j) = g / (xl * h) ColOut(0, k, j) = b / (xl * h) Next k Next j Picture2.Refresh End If Next y
If ll <> 0 Then yl = Picture.ScaleHeight - ll For x = 0 To (row - 1) * w Step w For k = x To w - 1 For j = y To yl - 1 r = ColOut(2, k, j) g = ColOut(1, k, j) b = ColOut(0, k, j) Next j Next k For k = x To w - 1 For j = y To yl - 1
ColOut(2, k, j) = r / (w * yl) ColOut(1, k, j) = g / (w * yl) ColOut(0, k, j) = b / (w * yl) Next k Next j Picture2.Refresh End If Next x
If rl <> 0 Then xl = Picture1.ScaleWidth - rl yl = Picture.ScaleHeight - ll For k = x To xl - 1 For j = y To yl - 1 r = ColOut(2, k, j) g = ColOut(1, k, j) b = ColOut(0, k, j) Next j Next k For k = x To xl - 1 For j = y To yl - 1
ColOut(2, k, j) = r / (xl * yl) ColOut(1, k, j) = g / (xl * yl) ColOut(0, k, j) = b / (xl * yl) Next k Next j Picture2.Refresh End If End If End Sub 哪里出错了
Dim r As Long
Dim g As Long
Dim w As Long
Dim h As Longw = Text1.Text
h = Text2.Text
row = Int(Picture1.ScaleWidth / w)
lin = Int(Picture1.ScaleHeight / h)
rl = Picture1.ScaleWidth Mod h
ll = Picture1.ScaleHeight Mod w
For y = 0 To (lin - 1) * h Step h
For x = 0 To (row - 1) * w Step w
For k = x To w - 1
For j = y To h - 1
r = ColOut(2, k, j)
g = ColOut(1, k, j)
b = ColOut(0, k, j)
Next j
Next k
For k = x To w - 1
For j = y To h - 1
ColOut(2, k, j) = r / (w * h)
ColOut(1, k, j) = g / (w * h)
ColOut(0, k, j) = b / (w * h)
Next j
Next k
Picture2.Refresh
Next x
If rl <> 0 Then
xl = Picture1.ScaleWidth - rl
For k = x To xl - 1
For j = y To h - 1
r = ColOut(2, k, j)
g = ColOut(1, k, j)
b = ColOut(0, k, j)
Next j
Next k
For k = x To xl - 1
For j = y To h - 1
ColOut(2, k, j) = r / (xl * h)
ColOut(1, k, j) = g / (xl * h)
ColOut(0, k, j) = b / (xl * h)
Next k
Next j
Picture2.Refresh
End If
Next y
If ll <> 0 Then
yl = Picture.ScaleHeight - ll
For x = 0 To (row - 1) * w Step w
For k = x To w - 1
For j = y To yl - 1
r = ColOut(2, k, j)
g = ColOut(1, k, j)
b = ColOut(0, k, j)
Next j
Next k
For k = x To w - 1
For j = y To yl - 1
ColOut(2, k, j) = r / (w * yl)
ColOut(1, k, j) = g / (w * yl)
ColOut(0, k, j) = b / (w * yl)
Next k
Next j
Picture2.Refresh
End If
Next x
If rl <> 0 Then
xl = Picture1.ScaleWidth - rl
yl = Picture.ScaleHeight - ll
For k = x To xl - 1
For j = y To yl - 1
r = ColOut(2, k, j)
g = ColOut(1, k, j)
b = ColOut(0, k, j)
Next j
Next k
For k = x To xl - 1
For j = y To yl - 1
ColOut(2, k, j) = r / (xl * yl)
ColOut(1, k, j) = g / (xl * yl)
ColOut(0, k, j) = b / (xl * yl)
Next k
Next j
Picture2.Refresh
End If
End If
End Sub
这短程序哪里出错了
Public Sub mosaic()
Dim r As Long
Dim g As Long
Dim w As Long
Dim h As Longw = Text1.Text
h = Text2.Text
row = Int(Picture1.ScaleWidth / w) '马赛克列数-1
lin = Int(Picture1.ScaleHeight / h) '马赛克行数-1
rl = Picture1.ScaleWidth Mod h '所余块中的列数
ll = Picture1.ScaleHeight Mod w '所余块中的行数
For y = 0 To (lin - 1) * h Step h
For x = 0 To (row - 1) * w Step w
For k = x To w - 1
For j = y To h - 1
r = ColOut(2, k, j)
g = ColOut(1, k, j)
b = ColOut(0, k, j)
Next j
Next k
For k = x To w - 1
For j = y To h - 1
ColOut(2, k, j) = r / (w * h)
ColOut(1, k, j) = g / (w * h)
ColOut(0, k, j) = b / (w * h)
Next j
Next k
Picture2.Refresh
Next x
If rl <> 0 Then
xl = Picture1.ScaleWidth - rl
For k = x To xl - 1
For j = y To h - 1
r = ColOut(2, k, j)
g = ColOut(1, k, j)
b = ColOut(0, k, j)
Next j
Next k
For k = x To xl - 1
For j = y To h - 1
ColOut(2, k, j) = r / (xl * h)
ColOut(1, k, j) = g / (xl * h)
ColOut(0, k, j) = b / (xl * h)
Next k
Next j
Picture2.Refresh
End If
Next y
If ll <> 0 Then
yl = Picture.ScaleHeight - ll
For x = 0 To (row - 1) * w Step w
For k = x To w - 1
For j = y To yl - 1
r = ColOut(2, k, j)
g = ColOut(1, k, j)
b = ColOut(0, k, j)
Next j
Next k
For k = x To w - 1
For j = y To yl - 1
ColOut(2, k, j) = r / (w * yl)
ColOut(1, k, j) = g / (w * yl)
ColOut(0, k, j) = b / (w * yl)
Next k
Next j
Picture2.Refresh
End If
Next x
If rl <> 0 Then
xl = Picture1.ScaleWidth - rl
yl = Picture.ScaleHeight - ll
For k = x To xl - 1
For j = y To yl - 1
r = ColOut(2, k, j)
g = ColOut(1, k, j)
b = ColOut(0, k, j)
Next j
Next k
For k = x To xl - 1
For j = y To yl - 1
ColOut(2, k, j) = r / (xl * yl)
ColOut(1, k, j) = g / (xl * yl)
ColOut(0, k, j) = b / (xl * yl)
Next k
Next j
Picture2.Refresh
End If
End If
End Sub
哪里出错了