Salut Kropernic,
C'est pas un challenge, il suffit simplement de le mettre sur la voie.
@OP :
Dans un 1er tps ton raisonnement ne colle pas du tout avec ce que tu as écrits comme code !
---> Tu as 2 pictureBox : soit PictureBox1 et PictureBox2 : hors dans ton code tu sembles travailler à l'envers. Je peux concevoir qu'il s'agit de tests mais pour une question de logique il faudrait envisager de mettre l'image sélectionné dans PictureBox1 et celle modifiée dans PictureBox2. De plus travailler avec des noms qui respectent à minima la politique de nommage des contrôles aide grandement à la relecture d'un code source à savoir : PcbOriginal et PcbCropped.
---> Il faut également faire attention lorsque tu enregistres une image, il faut s'assurer que le mimeType (ou ImageFormat) corresponds bien à l'extension du fichier enregistré. Ce qui n'est pas le cas ici :
1- Tu instancies une image de type Bitmap :
Dim newImage = New Bitmap(PictureBox2.Image)
Ok il s'agit d'une instance Bitmap, pas de soucis ! (Tu pourras convertir le format depuis la méthode .Save plus tard au moyen du paramètre ImageFormat)
2- Tu choisies une mauvaise extension jpg (car ton imageFormat n'est pas bon !) :
Dim FicSor = Application.StartupPath & "\Temp1.jpg"
Tu dois mettre l'extension jpg (si ton imageFormat ci-dessous est
3- Tu enregistres finalement sans mimetype (ou format d'image), ce qui revient à dire que tu enregistres au format Bmp selon l'instanciation :
PictureBox2.Image.Save(FicSor)
Si tu as choisis l'extension jpg alors la valeur du 2ème argument dans la signature de la méthode .Save doit être
Donc :
PictureBox2.Image.Save(FicSor,Imaging.ImageFormat.Jpeg)
Voilà pour un début, même si cela ne résoudra pas ton problème lié à ta zone de sélection !
++
Partager