ASP.NET - COMMENT GÉNÉRER UNE MINIATURE CONFORME À UN FICHIER IMAGE INITIAL

Signaler
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
-
Messages postés
5
Date d'inscription
samedi 28 octobre 2006
Statut
Membre
Dernière intervention
28 février 2007
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/9088-asp-net-comment-generer-une-miniature-conforme-a-un-fichier-image-initial

Messages postés
5
Date d'inscription
samedi 28 octobre 2006
Statut
Membre
Dernière intervention
28 février 2007

Bonjour
En fait j'ai essayé cet exemple et je suis encore débutante dans vb.net
mais rien ne ce passe à l'execution

voilà le code
*****
Dim MonRepertoirePhysique As String = "I:\Cuisines"

Dim MonFichierImage As String = "a.jpg"

Dim MonFichierMiniature As String = "a2.jpg"

Dim LargeurMiniature As Integer = 100 'On fixe la hauteur de l'image

Dim HauteurMiniature As Integer = 0 'la Hauteur sera calculée
Dim bmp As New System.Drawing.Bitmap(MonRepertoirePhysique & MonFichierImage)

Dim MonCallBackDeCalvaire = New System.Drawing.Image.GetThumbnailImageAbort(AddressOf ThumbnailCallback)
Function ThumbnailCallback() As Boolean
Return False
End Function


Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load





HauteurMiniature = (bmp.Size.Height * LargeurMiniature / bmp.Size.Width)
bmp = bmp.GetThumbnailImage(LargeurMiniature, HauteurMiniature, MonCallBackDeCalvaire, IntPtr.Zero)
bmp.Save(MonRepertoirePhysique & MonFichierMiniature, System.Drawing.Imaging.ImageFormat.Jpeg)
bmp.Dispose()


End Sub
*****
Merci d'avance
Messages postés
64
Date d'inscription
mercredi 24 juillet 2002
Statut
Membre
Dernière intervention
26 novembre 2009

Salut,
pour regler le problème par le pointeur null, ce serais pas plutôt le mot clé Nothing à utiliser dans VB.NET ?

bmp = bmp.GetThumbnailImage(LargeurMiniature, HauteurMiniature, Nothing, IntPtr.Zero)
MG
Messages postés
8
Date d'inscription
lundi 3 mars 2003
Statut
Membre
Dernière intervention
31 janvier 2011

Merci Jean Luc pour ton astuce sa fonction nikel maintenant, encore merci ;-)
Messages postés
15
Date d'inscription
lundi 15 septembre 2003
Statut
Membre
Dernière intervention
24 mars 2006

Salut,
J'ai mis le temps mais j'ai trouvé un tour de passe-passe pour contourner le problème (c'est pas tres propre mais ça marche!)

' ajouter la fonction tour de passe-passe:
Function ThumbnailCallback() As Boolean
Return False
End Function
'declaration du call back
MonCallBackDeCalvaire = New _
System.Drawing.Image.GetThumbnailImageAbort(AddressOf ThumbnailCallback)
' et remplacer "AddressOf CallBackAbort" par "MonCallBackDeCalvaire" dans le code original comme ci-dessous:

bmp = bmp.GetThumbnailImage(LargeurMiniature, HauteurMiniature, MonCallBackDeCalvaire, IntPtr.Zero)

Et le tour est joué !

Bon courage
Jean-Luc
Afficher les 13 commentaires