begin process at 2010 02 10 15:19:51
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Multimédia

 > 

Image & Vidéo

 > 

Erreur enregistrement image après modif


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Erreur enregistrement image après modif

mercredi 26 novembre 2008 à 03:41:34 | Erreur enregistrement image après modif

Redman31100

Voici mon code :

  Dim Picture As Drawing.Bitmap = Drawing.Bitmap.FromFile("C:\Users\Redman\Desktop\aaa.jpg")
                Dim TemporaryPicture As Drawing.Bitmap = Picture.Clone
                Picture.Dispose()
                Dim X As Integer = 916
                Dim Y As Integer = 258
                Dim Width As Integer = 321
                Dim Height As Integer = 241
                Dim FinalPicture As New Drawing.Bitmap(Width, Height, TemporaryPicture.PixelFormat)

                For xi As Integer = X To X + Width - 1
                    For xy As Integer = Y To Y + Height - 1
                        FinalPicture.SetPixel(xi - X, xy - Y, TemporaryPicture.GetPixel(xi, xy))
                    Next
                Next

                FinalPicture.Save("C:\Users\Redman\Desktop\aaa.jpg")

Le programme lève une exception à : FinalPicture.Save("C:\Users\Redman\Desktop\aaa.jpg")
Voici l'erreur :

L'exception System.Runtime.InteropServices.ExternalException n'a pas été gérée
  ErrorCode=-2147467259
  Message="Une erreur générique s'est produite dans GDI+."

Comment y remédier ?

Merci d'avance :D

Redman
mercredi 26 novembre 2008 à 09:11:51 | Re : Erreur enregistrement image après modif

jmenfous

Membre Club
Je n'ai malheureusement pas put tester ton code (soucis de taille d'image dans la boucle for) Par contre je pense que ton souci provien d'une impossiblité d'enregistrer ton image car elle est déjà ouverte (souci plsu fréquent qu'il n'y parait) Je te coneillerai plutôt d'utiliser un code du genre : ' Chargement de l'image à dessiner Dim path as String = "...path vers ton iamge..." Dim fs As New System.IO.StreamReader(path) Dim image As Image = image.FromStream(fs.BaseStream) fs.Close() fs.Dispose() fs = Nothing ' Création du bitmap pour réaliser le dessin Dim bmp As New Bitmap(image.Width, image.Height) ' Création du graphics pour dessiner Dim g As Graphics = Graphics.FromImage(bmp) ' On dessine l'image (ce n'est qu'un exemple à adapter en focntion de ce que tu veux faire de ton image) g.DrawImage(image, 0, 0) ' Sauvagarde bmp.Save(path, System.Drawing.Imaging.ImageFormat.Jpeg) Jérémy Jeanson MCP
mercredi 26 novembre 2008 à 09:17:54 | Re : Erreur enregistrement image après modif

jmenfous

Membre Club
Réponse acceptée !
Pardon, l'éditeur de texte du forum ne semble pas aimer Opera don je te refais le code proprement avec les retours à la ligne:

Je n'ai malheureusement pas put tester ton code (soucis de taille d'image dans la boucle for) Par contre je pense que ton souci provien d'une impossiblité d'enregistrer ton image car elle est déjà ouverte (souci plsu fréquent qu'il n'y parait)

Je te coneillerai plutôt d'utiliser un code du genre :

' Chargement de l'image à dessiner
Dim path as String = "...path vers ton image..."
Dim fs As New System.IO.StreamReader(path)
Dim image As Image = image.FromStream(fs.BaseStream)
fs.Close()
fs.Dispose()
fs = Nothing

' Création du bitmap pour réaliser le dessin
Dim bmp As New Bitmap(image.Width, image.Height)

' Création du graphics pour dessiner
Dim g As Graphics = Graphics.FromImage(bmp)

' On dessine l'image
' (ce n'est qu'un exemple à adapter en focntion de ce que tu veux faire de ton image) g.DrawImage(image, 0, 0)

' Sauvagarde
bmp.Save(path, System.Drawing.Imaging.ImageFormat.Jpeg)

C'est tout de même plus lisible comem ça

Jérémy Jeanson MCP
mercredi 26 novembre 2008 à 13:42:58 | Re : Erreur enregistrement image après modif

Redman31100

Bah moi j'avais appris sur un livre de programmation VB.Net a utiliser Image.Clone dans une autre image donc ca copie sans utiliser le stream et ensuite Image.Dispose. Et là ça ne marche pas. Je vais essayer comme tu dis.

Par contre j'arrive pas avec g.DrawImageUnscaledAndClipped(Picture, New Drawing.Rectangle(X, Y, Width, Height)) ca ne sélectionne pas le rectangle de l'image que je veux importer dans la nouvelle image. Ca fait une image toute noire.

Redman
mercredi 26 novembre 2008 à 13:54:48 | Re : Erreur enregistrement image après modif

Redman31100

J'ai réussi à ma façon avec les 2 boucles que j'avais fait.

Merci

Redman


Cette discussion est classée dans : erreur, integer, bitmap, drawing, finalpicture


Répondre à ce message

Sujets en rapport avec ce message

Pb !!! ERREUR EXECUTION N°5 [ par Spe6men ] Bonjour a tous Je ne cherche pas vraiment a realiser un prog de cryptage mis Je voudrai juste comprendre d ou vien cet erreur Voila la source Module1 Erreur Incompréhensible VB.NET [ par lim ] Bonjour je développe une appli en VB.NetLors de l'ouverture de certaines fenêtres j'obtiens, l'erreur suivante :Une exception non gérée du type 'Syste Problème avec bitmap [ par Scientophage ] Voici le code que j'ai tapé Private Image As New System.Drawing.Bitmap(121, 129, Imagi création de fichier [ par van6071 ] Bonjour, Je débute en Delphi et j'ai une erreur que je ne comprend pas voici mon code Code: procedure Present_euro.MAJ_Click(sender: System.Object; GestionErreurs [ par lomatic ] Bonsoir à tous,Je n'arrive pas à coder ce qu'il faut dans : Private Sub txtDate_LostFocus(Index As Integer) , à partir de GestionErreurs.Voici le code Diminuer la resolution d'une image (dpi) [ par Syphou ] Bonjour;Jai une fonction qui va chercher 28 000 images d'articles sur le net. Je doit les enregistrer sur un serveur, elles doivent etre carrée et etr Detecter un integer [ par arbomont ] Je voudrais créé une condition qui signale une erreur si elle detecte autre chose qu'un entier dans une variable.J'avais fait ceci :If Variable = "" O Gros pb erreur 16 "expression trop complexe" après migr W2K--> Vista avec VB6 [ par doyen ] Bonjour Je viens de passer de W2k sur Vista j'ai importé VB6 et appliqué le sp6 , mon programme fonctionnait parfaitement avant .Je ne m'en sors pas l Changer l'Inversion de couleur pour un remplacement de couleur [ par 3KyNoX ] Bonjour, j'ai trouvé une source qui me permet d'inverser les couleurs d'une image de façon optimisée, j'aimerai plutôt remplacer une couleur contenue Erreur de chemin ??? [ par JTCorporation ] Bijour Pourriez vous me dire ce ki cloche ds ces lognes de codes ???Private Sub IAide_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,061 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales