Découper une image en plusieurs parties puis la ré assembler
Bonsoir à tous, depuis plusieurs jours je souhaite essayer de "séparer" une image en plusieurs parties puis les ré assembler pour reformer l'image et l’afficher à nouveau pour vérifier que l'image est identique.
Mon problème étant que je ne sais pas de quelle manière procéder, je me suis fait deux fonctions de base :
- une pour convertir l'image originale en memorystream
- une seconde pour récupérer l'image à partir du memorystream
- mon premier essai a été de mettre une image dans un picturebox, de le convertir puis de le récupérer et enfin l'afficher pour vérifier que c'est bon.
Jusque la pas de soucis ça fonctionne
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
Function MemoryStreamToBitmap(ByVal ms As MemoryStream)
Dim Bitmap As Bitmap = Image.FromStream(ms)
Return Bitmap
End Function
Function BitmapToMemoryStream(ByVal Bitmap As Bitmap)
Dim ms As New MemoryStream
Bitmap.Save(ms, Bitmap.RawFormat)
Return ms
End Function
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim Stream As MemoryStream = BitmapToMemoryStream(PictureBox1.Image)
Dim Bitmap As Bitmap = MemoryStreamToBitmap(Stream)
PictureBox2.Image = Bitmap
End Sub |
Ce que j'aimerais faire maintenant, c'est "découper" le memorystream de l'image originale en plusieurs parties, par exemple en 10, puis ré assembler ces 10 parties pour retrouver limage.
Je ne sais pas trop comment m'y prendre j'ai commencé le squelette :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim Stream As MemoryStream = BitmapToMemoryStream(PictureBox1.Image)
'--
Dim SizeSplitter As Double = PictureSize / 10
Dim NewBitmap As MemoryStream
For i = 1 To 10
' Ajouter la quantité SizeSplitter à NewBitmap
Next
' NewBitmap est égal à Stream
'--
Dim Bitmap As Bitmap = MemoryStreamToBitmap(NewBitmap)
PictureBox2.Image = Bitmap
End Sub |
Je ne sais pas comment m'y prendre pouvez-vous m'expliquer svp ?
Bonne soirée à tous