Je veux modifier le poids en Ko d'une image JPG et je la sauvegarde.
si je lui donne un autre nom que celui d'origine ca fonctionne tres bien
mais si je delete la photo d(origine et enregistre cette photo sous ce
meme nom j'ai l'erreur; ce fichier est utilise par .....
que me conseillez vous pour pouvoir sous vb.net 2008 ecraser une JPG par
une autre?
D'avance merci de votre aide l
ci dessous ce qui marche car je ne lui donne pas le meme nom
Private Sub modiftaille_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles modiftaille.Click
'***************************
Dim cheminb As String = "d:\essai.jpg "
Dim longd = Len(cheminb) - 4
Dim cheminbis As String = (Microsoft.VisualBasic.Left(cheminb, longd)) &
"bis.jpg"
Dim bmp1 As New Bitmap(cheminb)
Dim jgpEncoder As ImageCodecInfo = GetEncoder(ImageFormat.Jpeg)
Dim myEncoder As System.Drawing.Imaging.Encoder =
System.Drawing.Imaging.Encoder.Quality
Dim myEncoderParameters As New EncoderParameters(1)
Dim myEncoderParameter As New EncoderParameter(myEncoder, 50&)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Patrice
C'est indiqué dans la doc (erreur GDI+ ?) (Si ce n'est pas cela le code qui ne marche pas avec la mention exacte de l'erreur serait plus intéressant...)
"Notes L'enregistrement de l'image dans le fichier qui a servi à la construire n'est pas autorisé et lève une exception. " (tiré de http://msdn.microsoft.com/fr-fr/library/ytz20d80.aspx).
Je serais moi-même curieux de savoir la raison exacte de cette limitation (jimagine que le fichier reste ouvert jusqu'à ce que le bitmap soit détruit
Une solution simple serait de passer par un fichier temporaire (ou peut-être de créer un second bitmap à partir du premier ?)...
.En cherchant la deuxième solution peut par exemple donner : http://fabdecret.blogspot.com/2007/08/bitmap-lock.html qui crée le bitmap depuis un stream
-- Patrice
"Dan" a écrit dans le message de groupe de discussion : 49a3d363$0$21740$
Bonjour a tous.
Je veux modifier le poids en Ko d'une image JPG et je la sauvegarde.
si je lui donne un autre nom que celui d'origine ca fonctionne tres bien mais si je delete la photo d(origine et enregistre cette photo sous ce meme nom j'ai l'erreur; ce fichier est utilise par .....
que me conseillez vous pour pouvoir sous vb.net 2008 ecraser une JPG par une autre?
D'avance merci de votre aide l
ci dessous ce qui marche car je ne lui donne pas le meme nom
Private Sub modiftaille_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles modiftaille.Click
'***************************
Dim cheminb As String = "d:essai.jpg "
Dim longd = Len(cheminb) - 4
Dim cheminbis As String = (Microsoft.VisualBasic.Left(cheminb, longd)) & "bis.jpg"
Dim bmp1 As New Bitmap(cheminb)
Dim jgpEncoder As ImageCodecInfo = GetEncoder(ImageFormat.Jpeg)
Dim myEncoder As System.Drawing.Imaging.Encoder = System.Drawing.Imaging.Encoder.Quality
Dim myEncoderParameters As New EncoderParameters(1)
Dim myEncoderParameter As New EncoderParameter(myEncoder, 50&)
C'est indiqué dans la doc (erreur GDI+ ?) (Si ce n'est pas cela le code qui
ne marche pas avec la mention exacte de l'erreur serait plus
intéressant...)
"Notes
L'enregistrement de l'image dans le fichier qui a servi à la construire
n'est pas autorisé et lève une exception. "
(tiré de http://msdn.microsoft.com/fr-fr/library/ytz20d80.aspx).
Je serais moi-même curieux de savoir la raison exacte de cette limitation
(jimagine que le fichier reste ouvert jusqu'à ce que le bitmap soit détruit
Une solution simple serait de passer par un fichier temporaire (ou peut-être
de créer un second bitmap à partir du premier ?)...
.En cherchant la deuxième solution peut par exemple donner :
http://fabdecret.blogspot.com/2007/08/bitmap-lock.html qui crée le bitmap
depuis un stream
--
Patrice
"Dan" <antispam@mediacd.fr> a écrit dans le message de groupe de discussion
: 49a3d363$0$21740$7a628cd7@news.club-internet.fr...
Bonjour a tous.
Je veux modifier le poids en Ko d'une image JPG et je la sauvegarde.
si je lui donne un autre nom que celui d'origine ca fonctionne tres bien
mais si je delete la photo d(origine et enregistre cette photo sous
ce meme nom j'ai l'erreur; ce fichier est utilise par .....
que me conseillez vous pour pouvoir sous vb.net 2008 ecraser une JPG par
une autre?
D'avance merci de votre aide l
ci dessous ce qui marche car je ne lui donne pas le meme nom
Private Sub modiftaille_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles modiftaille.Click
'***************************
Dim cheminb As String = "d:essai.jpg "
Dim longd = Len(cheminb) - 4
Dim cheminbis As String = (Microsoft.VisualBasic.Left(cheminb, longd)) &
"bis.jpg"
Dim bmp1 As New Bitmap(cheminb)
Dim jgpEncoder As ImageCodecInfo = GetEncoder(ImageFormat.Jpeg)
Dim myEncoder As System.Drawing.Imaging.Encoder =
System.Drawing.Imaging.Encoder.Quality
Dim myEncoderParameters As New EncoderParameters(1)
Dim myEncoderParameter As New EncoderParameter(myEncoder, 50&)
C'est indiqué dans la doc (erreur GDI+ ?) (Si ce n'est pas cela le code qui ne marche pas avec la mention exacte de l'erreur serait plus intéressant...)
"Notes L'enregistrement de l'image dans le fichier qui a servi à la construire n'est pas autorisé et lève une exception. " (tiré de http://msdn.microsoft.com/fr-fr/library/ytz20d80.aspx).
Je serais moi-même curieux de savoir la raison exacte de cette limitation (jimagine que le fichier reste ouvert jusqu'à ce que le bitmap soit détruit
Une solution simple serait de passer par un fichier temporaire (ou peut-être de créer un second bitmap à partir du premier ?)...
.En cherchant la deuxième solution peut par exemple donner : http://fabdecret.blogspot.com/2007/08/bitmap-lock.html qui crée le bitmap depuis un stream
-- Patrice
"Dan" a écrit dans le message de groupe de discussion : 49a3d363$0$21740$
Bonjour a tous.
Je veux modifier le poids en Ko d'une image JPG et je la sauvegarde.
si je lui donne un autre nom que celui d'origine ca fonctionne tres bien mais si je delete la photo d(origine et enregistre cette photo sous ce meme nom j'ai l'erreur; ce fichier est utilise par .....
que me conseillez vous pour pouvoir sous vb.net 2008 ecraser une JPG par une autre?
D'avance merci de votre aide l
ci dessous ce qui marche car je ne lui donne pas le meme nom
Private Sub modiftaille_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles modiftaille.Click
'***************************
Dim cheminb As String = "d:essai.jpg "
Dim longd = Len(cheminb) - 4
Dim cheminbis As String = (Microsoft.VisualBasic.Left(cheminb, longd)) & "bis.jpg"
Dim bmp1 As New Bitmap(cheminb)
Dim jgpEncoder As ImageCodecInfo = GetEncoder(ImageFormat.Jpeg)
Dim myEncoder As System.Drawing.Imaging.Encoder = System.Drawing.Imaging.Encoder.Quality
Dim myEncoderParameters As New EncoderParameters(1)
Dim myEncoderParameter As New EncoderParameter(myEncoder, 50&)
En fait du fait des objets que l'on utilise on oublie régulièrement de libérer les ressources. Rien de grave un Dispose et un Nothing après usage et le ménage est fait.
J'ai déjà fais un post à ce sujet il n'y a pas si longtemps que cela qui permet de montrer comment faire des modification sur une image déjà chargée : http://www.jjeanson.fr/1/Post.aspx?post<2c156a-acd5-4216-9868-06140f176b8a -- Jérémy JEANSON MCP http://www.jjeanson.fr
Bonjour tout le monde,
Ceci est in souci récurant ;)
En fait du fait des objets que l'on utilise on oublie régulièrement de
libérer les ressources. Rien de grave un Dispose et un Nothing après
usage et le ménage est fait.
J'ai déjà fais un post à ce sujet il n'y a pas si longtemps que cela qui
permet de montrer comment faire des modification sur une image déjà
chargée :
http://www.jjeanson.fr/1/Post.aspx?post<2c156a-acd5-4216-9868-06140f176b8a
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
En fait du fait des objets que l'on utilise on oublie régulièrement de libérer les ressources. Rien de grave un Dispose et un Nothing après usage et le ménage est fait.
J'ai déjà fais un post à ce sujet il n'y a pas si longtemps que cela qui permet de montrer comment faire des modification sur une image déjà chargée : http://www.jjeanson.fr/1/Post.aspx?post<2c156a-acd5-4216-9868-06140f176b8a -- Jérémy JEANSON MCP http://www.jjeanson.fr
Dan
Salut Jérémy
sur la premiere ligne : Dim fs As New StreamReader(totala(nbd)) je recupere l'erreur suivante i
Erreur 8 E:vbnetWindowsApplication1WindowsApplication1Form5.vb 936 13 La résolution de surcharge a échoué, car aucun 'New' accessible ne peut être appelé sans conversion restrictive : 'Public Sub New(path As String)': L'argument qui correspond au paramètre 'path' passe de 'Object' à 'String'. 'Public Sub New(stream As System.IO.Stream)': L'argument qui correspond au paramètre 'stream' passe de 'Object' à 'System.IO.Stream'. ALBUM1
voici le contenu de mon bouton
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim fs As New StreamReader(totala(nbd)) image1.Image = Image.FromStream(fs.BaseStream) fs.Close() fs.Dispose() fs = Nothing
Dim fi As New FileInfo(totala(nbd)) fi.CreationTime = DateTime.Now End Sub
que me manque t'il , j'ai essaye avec Dim fs As System.IO.StreamReader ca ne change rien que faire?
"Jérémy Jeanson" a écrit dans le message de news:
Bonjour tout le monde,
Ceci est in souci récurant ;)
En fait du fait des objets que l'on utilise on oublie régulièrement de libérer les ressources. Rien de grave un Dispose et un Nothing après usage et le ménage est fait.
J'ai déjà fais un post à ce sujet il n'y a pas si longtemps que cela qui permet de montrer comment faire des modification sur une image déjà chargée : http://www.jjeanson.fr/1/Post.aspx?post<2c156a-acd5-4216-9868-06140f176b8a -- Jérémy JEANSON MCP http://www.jjeanson.fr
Salut Jérémy
sur la premiere ligne : Dim fs As New StreamReader(totala(nbd))
je recupere l'erreur suivante i
Erreur 8 E:vbnetWindowsApplication1WindowsApplication1Form5.vb 936 13 La
résolution de surcharge a échoué, car aucun 'New' accessible ne peut être
appelé sans conversion restrictive :
'Public Sub New(path As String)': L'argument qui correspond au paramètre
'path' passe de 'Object' à 'String'.
'Public Sub New(stream As System.IO.Stream)': L'argument qui correspond
au paramètre 'stream' passe de 'Object' à 'System.IO.Stream'. ALBUM1
voici le contenu de mon bouton
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Dim fs As New StreamReader(totala(nbd))
image1.Image = Image.FromStream(fs.BaseStream)
fs.Close()
fs.Dispose()
fs = Nothing
Dim fi As New FileInfo(totala(nbd))
fi.CreationTime = DateTime.Now
End Sub
que me manque t'il , j'ai essaye avec
Dim fs As System.IO.StreamReader
ca ne change rien
que faire?
"Jérémy Jeanson" <jeremy.jeanson@free.fr> a écrit dans le message de
news:uxSOdGolJHA.2064@TK2MSFTNGP05.phx.gbl...
Bonjour tout le monde,
Ceci est in souci récurant ;)
En fait du fait des objets que l'on utilise on oublie régulièrement de
libérer les ressources. Rien de grave un Dispose et un Nothing après usage
et le ménage est fait.
J'ai déjà fais un post à ce sujet il n'y a pas si longtemps que cela qui
permet de montrer comment faire des modification sur une image déjà
chargée :
http://www.jjeanson.fr/1/Post.aspx?post<2c156a-acd5-4216-9868-06140f176b8a
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
sur la premiere ligne : Dim fs As New StreamReader(totala(nbd)) je recupere l'erreur suivante i
Erreur 8 E:vbnetWindowsApplication1WindowsApplication1Form5.vb 936 13 La résolution de surcharge a échoué, car aucun 'New' accessible ne peut être appelé sans conversion restrictive : 'Public Sub New(path As String)': L'argument qui correspond au paramètre 'path' passe de 'Object' à 'String'. 'Public Sub New(stream As System.IO.Stream)': L'argument qui correspond au paramètre 'stream' passe de 'Object' à 'System.IO.Stream'. ALBUM1
voici le contenu de mon bouton
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim fs As New StreamReader(totala(nbd)) image1.Image = Image.FromStream(fs.BaseStream) fs.Close() fs.Dispose() fs = Nothing
Dim fi As New FileInfo(totala(nbd)) fi.CreationTime = DateTime.Now End Sub
que me manque t'il , j'ai essaye avec Dim fs As System.IO.StreamReader ca ne change rien que faire?
"Jérémy Jeanson" a écrit dans le message de news:
Bonjour tout le monde,
Ceci est in souci récurant ;)
En fait du fait des objets que l'on utilise on oublie régulièrement de libérer les ressources. Rien de grave un Dispose et un Nothing après usage et le ménage est fait.
J'ai déjà fais un post à ce sujet il n'y a pas si longtemps que cela qui permet de montrer comment faire des modification sur une image déjà chargée : http://www.jjeanson.fr/1/Post.aspx?post<2c156a-acd5-4216-9868-06140f176b8a -- Jérémy JEANSON MCP http://www.jjeanson.fr
Jérémy Jeanson
je crois que c'est au niveau de ta méthode totala(nbd). Retourne elle bien une String? -- Jérémy JEANSON MCP http://www.jjeanson.fr
je crois que c'est au niveau de ta méthode totala(nbd).
Retourne elle bien une String?
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
je crois que c'est au niveau de ta méthode totala(nbd). Retourne elle bien une String? -- Jérémy JEANSON MCP http://www.jjeanson.fr
Dan
Salut Patrice efectivement le fichier reste ouvert,la solution de Jérémy semble la bonne et je dois essayer de voir. Merci de toutes ces informations en tout cas. A+ Dan "Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
C'est indiqué dans la doc (erreur GDI+ ?) (Si ce n'est pas cela le code qui ne marche pas avec la mention exacte de l'erreur serait plus intéressant...)
"Notes L'enregistrement de l'image dans le fichier qui a servi à la construire n'est pas autorisé et lève une exception. " (tiré de http://msdn.microsoft.com/fr-fr/library/ytz20d80.aspx).
Je serais moi-même curieux de savoir la raison exacte de cette limitation (jimagine que le fichier reste ouvert jusqu'à ce que le bitmap soit détruit
Une solution simple serait de passer par un fichier temporaire (ou peut-être de créer un second bitmap à partir du premier ?)...
.En cherchant la deuxième solution peut par exemple donner : http://fabdecret.blogspot.com/2007/08/bitmap-lock.html qui crée le bitmap depuis un stream
-- Patrice
"Dan" a écrit dans le message de groupe de discussion : 49a3d363$0$21740$
Bonjour a tous.
Je veux modifier le poids en Ko d'une image JPG et je la sauvegarde.
si je lui donne un autre nom que celui d'origine ca fonctionne tres bien mais si je delete la photo d(origine et enregistre cette photo sous ce meme nom j'ai l'erreur; ce fichier est utilise par .....
que me conseillez vous pour pouvoir sous vb.net 2008 ecraser une JPG par une autre?
D'avance merci de votre aide l
ci dessous ce qui marche car je ne lui donne pas le meme nom
Private Sub modiftaille_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles modiftaille.Click
'***************************
Dim cheminb As String = "d:essai.jpg "
Dim longd = Len(cheminb) - 4
Dim cheminbis As String = (Microsoft.VisualBasic.Left(cheminb, longd)) & "bis.jpg"
Dim bmp1 As New Bitmap(cheminb)
Dim jgpEncoder As ImageCodecInfo = GetEncoder(ImageFormat.Jpeg)
Dim myEncoder As System.Drawing.Imaging.Encoder = System.Drawing.Imaging.Encoder.Quality
Dim myEncoderParameters As New EncoderParameters(1)
Dim myEncoderParameter As New EncoderParameter(myEncoder, 50&)
Salut Patrice
efectivement le fichier reste ouvert,la solution de Jérémy semble la bonne
et je dois essayer de voir.
Merci de toutes ces informations en tout cas.
A+
Dan
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news:9F87DD5F-FCD9-4078-BA6A-1A95FB6AB8A8@microsoft.com...
C'est indiqué dans la doc (erreur GDI+ ?) (Si ce n'est pas cela le code
qui ne marche pas avec la mention exacte de l'erreur serait plus
intéressant...)
"Notes
L'enregistrement de l'image dans le fichier qui a servi à la construire
n'est pas autorisé et lève une exception. "
(tiré de http://msdn.microsoft.com/fr-fr/library/ytz20d80.aspx).
Je serais moi-même curieux de savoir la raison exacte de cette limitation
(jimagine que le fichier reste ouvert jusqu'à ce que le bitmap soit
détruit
Une solution simple serait de passer par un fichier temporaire (ou
peut-être de créer un second bitmap à partir du premier ?)...
.En cherchant la deuxième solution peut par exemple donner :
http://fabdecret.blogspot.com/2007/08/bitmap-lock.html qui crée le bitmap
depuis un stream
--
Patrice
"Dan" <antispam@mediacd.fr> a écrit dans le message de groupe de
discussion : 49a3d363$0$21740$7a628cd7@news.club-internet.fr...
Bonjour a tous.
Je veux modifier le poids en Ko d'une image JPG et je la sauvegarde.
si je lui donne un autre nom que celui d'origine ca fonctionne tres bien
mais si je delete la photo d(origine et enregistre cette photo sous ce
meme nom j'ai l'erreur; ce fichier est utilise par .....
que me conseillez vous pour pouvoir sous vb.net 2008 ecraser une JPG
par une autre?
D'avance merci de votre aide l
ci dessous ce qui marche car je ne lui donne pas le meme nom
Private Sub modiftaille_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles modiftaille.Click
'***************************
Dim cheminb As String = "d:essai.jpg "
Dim longd = Len(cheminb) - 4
Dim cheminbis As String = (Microsoft.VisualBasic.Left(cheminb, longd)) &
"bis.jpg"
Dim bmp1 As New Bitmap(cheminb)
Dim jgpEncoder As ImageCodecInfo = GetEncoder(ImageFormat.Jpeg)
Dim myEncoder As System.Drawing.Imaging.Encoder =
System.Drawing.Imaging.Encoder.Quality
Dim myEncoderParameters As New EncoderParameters(1)
Dim myEncoderParameter As New EncoderParameter(myEncoder, 50&)
Salut Patrice efectivement le fichier reste ouvert,la solution de Jérémy semble la bonne et je dois essayer de voir. Merci de toutes ces informations en tout cas. A+ Dan "Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
C'est indiqué dans la doc (erreur GDI+ ?) (Si ce n'est pas cela le code qui ne marche pas avec la mention exacte de l'erreur serait plus intéressant...)
"Notes L'enregistrement de l'image dans le fichier qui a servi à la construire n'est pas autorisé et lève une exception. " (tiré de http://msdn.microsoft.com/fr-fr/library/ytz20d80.aspx).
Je serais moi-même curieux de savoir la raison exacte de cette limitation (jimagine que le fichier reste ouvert jusqu'à ce que le bitmap soit détruit
Une solution simple serait de passer par un fichier temporaire (ou peut-être de créer un second bitmap à partir du premier ?)...
.En cherchant la deuxième solution peut par exemple donner : http://fabdecret.blogspot.com/2007/08/bitmap-lock.html qui crée le bitmap depuis un stream
-- Patrice
"Dan" a écrit dans le message de groupe de discussion : 49a3d363$0$21740$
Bonjour a tous.
Je veux modifier le poids en Ko d'une image JPG et je la sauvegarde.
si je lui donne un autre nom que celui d'origine ca fonctionne tres bien mais si je delete la photo d(origine et enregistre cette photo sous ce meme nom j'ai l'erreur; ce fichier est utilise par .....
que me conseillez vous pour pouvoir sous vb.net 2008 ecraser une JPG par une autre?
D'avance merci de votre aide l
ci dessous ce qui marche car je ne lui donne pas le meme nom
Private Sub modiftaille_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles modiftaille.Click
'***************************
Dim cheminb As String = "d:essai.jpg "
Dim longd = Len(cheminb) - 4
Dim cheminbis As String = (Microsoft.VisualBasic.Left(cheminb, longd)) & "bis.jpg"
Dim bmp1 As New Bitmap(cheminb)
Dim jgpEncoder As ImageCodecInfo = GetEncoder(ImageFormat.Jpeg)
Dim myEncoder As System.Drawing.Imaging.Encoder = System.Drawing.Imaging.Encoder.Quality
Dim myEncoderParameters As New EncoderParameters(1)
Dim myEncoderParameter As New EncoderParameter(myEncoder, 50&)
effectivement c'est de la que ca vient je vais faire les tests. Je te tiens au courant A+ Dan "Jérémy Jeanson" a écrit dans le message de news:
je crois que c'est au niveau de ta méthode totala(nbd). Retourne elle bien une String? -- Jérémy JEANSON MCP http://www.jjeanson.fr
effectivement c'est de la que ca vient
je vais faire les tests.
Je te tiens au courant
A+
Dan
"Jérémy Jeanson" <jeremy.jeanson@free.fr> a écrit dans le message de
news:u4ObGKplJHA.1340@TK2MSFTNGP06.phx.gbl...
je crois que c'est au niveau de ta méthode totala(nbd).
Retourne elle bien une String?
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr