1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
Option Explicit
Private Const knPixelSize = 3 'Taille de la zone de "recopie" en pixels
'-----------------------------------------------------------------------------
Private Sub Form_Load()
Picture1.Print " " & Format(Int(Rnd * 9999) + 1, "0000")
End Sub
'-----------------------------------------------------------------------------
Private Sub Picture2_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim lColor As Long, nX As Integer, nY As Integer
Dim nSizeX As Integer, nSizeY As Integer, nStepX As Integer, nStepY As Integer
'Conversion des pixels dans l'unité des PictureBoxes
nSizeX = Picture1.ScaleX(knPixelSize, vbPixels, Picture1.ScaleMode)
nSizeY = Picture1.ScaleY(knPixelSize, vbPixels, Picture1.ScaleMode)
nStepX = Picture1.ScaleX(1, vbPixels, Picture1.ScaleMode)
nStepY = Picture1.ScaleY(1, vbPixels, Picture1.ScaleMode)
'Recopie de l'image de 1 vers 2 si le bouton gauche de la souris est appuyé
If Button And vbLeftButton Then
For nX = -nSizeX To nSizeX Step nStepX
For nY = -nSizeY To nSizeY Step nStepY
lColor = Picture1.Point(X + nX, Y + nY)
Picture2.PSet (X + nX, Y + nY), lColor
Next
Next
End If
End Sub
'----------------------------------------------------------------------------- |
Partager