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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
|
'INGREDIENTS
'3 butons
'un panel
'un picturebox
'un opendialog
Imports System.Drawing.Drawing2D
Public Class frmPictures1
'----------un list(of image) magasin d'images ----------------
Private myListImages As New List(Of Image)
Private currentImage As Integer = 0
'----------OBJET GRAPHICS ----------------
Protected myGraphicPictureBox As Graphics
Public Sub New()
' Cet appel est requis par le concepteur.
InitializeComponent()
' Ajoutez une initialisation quelconque après l'appel InitializeComponent().
'----------ON LE "FAIT AUSSI GRAND QU'ON VOUDRA =>AUTANT D 'IMAGES QU'ON VOUDRA------------
Me.PictureBox1.Size = New Size(2000, 2000)
'-----------ANCRER LEFT TOP DU PANEL(ci-apres)-----------
Me.PictureBox1.Location = New Point(0, 0)
'----------OBJET GRAPHICS EST RECUPRER SUR LE CONTROL PICTUREBOX----------------
'----------gare :apres lui avoir affecte un size----------------
myGraphicPictureBox = Graphics.FromHwnd(PictureBox1.Handle)
'-----------ON LE METS À L'INTERIEUR DU PANEL -----------
'-----------POUR QU'ON PUISSE SCROLLER CAR PICTUREBOX N' AS PAS DE SCROLLBAR-----------
Me.Panel1.Size = New Size(250, 250)
Me.Panel1.Location = New Point(50, 50)
Me.Panel1.Controls.Add(Me.PictureBox1)
Me.Panel1.AutoScroll = True
End Sub
Private Sub btnLoadImages_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLoadImages.Click
OpenFileDialog1.Multiselect = True
If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
If (OpenFileDialog1.FileNames IsNot Nothing) Then
Dim i As Integer
For i = 0 To OpenFileDialog1.FileNames.Length - 1
AddImage(OpenFileDialog1.FileNames(i))
Next i
Else
AddImage(OpenFileDialog1.FileName)
End If
End If
End Sub
Private Sub AddImage(ByVal imageToLoad As String)
If imageToLoad <> "" Then
myListImages.Add(Image.FromFile(imageToLoad))
End If
End Sub
Private Sub btnDrawAllImages_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDrawAllImages.Click
RefreshScreen()
End Sub
Private Sub btnRemoveImage_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRemoveImage.Click
myListImages.RemoveAt(currentImage)
RefreshScreen()
End Sub
'CETTE SUB FAIT LE SALE BOULOT
Private Sub RefreshScreen()
myGraphicPictureBox.Clear(Me.PictureBox1.BackColor)
Dim x As Integer = 50
Dim y As Integer = 50
For Each img As Image In myListImages
Dim position As New Point(x, y)
x = x + 25 + img.Width
myGraphicPictureBox.DrawImage(img, position)
Next
End Sub
Private Sub Panel1_Scroll(ByVal sender As Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles Panel1.Scroll
RefreshScreen()
End Sub
End Class |
Partager