Bonjour,
j'ai un problème avec du code Visual Basic dans Access.
j'ai une base de données Access complètes avec des infos et un lien sur une image.
Sur un état, j'imprime des champs ainsi que l'image, mais en petit format (type vignette).
Ces images sont des images à haute définition (2-5Mb) et lorsque je les imprime dans cet état, il y en a un certains nombres et elles ne s'affichent pas toutes dû à la taille du fichier final.
Mon idée est de réduire ces images avant de les envoyer dans mon état. Mais je n'y arriva pas !
Voici le code à l'intérieur de mon état pour imprimer chaque image (sans réduction) :
- im1 : est mon image dans l'état
- TTAPicture : est le chemin de l'image a afficher.
Voici le code que je désire implémenter, mais qui ne marche pas :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer) If IsNull(Me![TTAPicture]) Then Me![im1].Picture = "" Me![im1].Visible = False Else Me![im1].Picture = Me![TTAPicture] Me![im1].Visible = True End If End Sub
La fonction GetThumnailImage est dans la DLL system.drawing.dll (Il faut charger le .net framework). Je l'ai référencé dans mon code Access (Outils/Références)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer) Dim im As System.Drawing.Image If IsNull(Me![TTAPicture]) Then Me![im1].Picture = "" Me![im1].Visible = False Else im = System.Drawing.Bitmap.FromFile(Me![TTAPicture]) Me![im1].Picture = im.GetThumbnailImage(120, 120, Nothing, Nothing) Me![im1].Visible = True End If End Sub
http://msdn2.microsoft.com/fr-fr/library/system.drawing.image.getthumbnailimage(VS.80).aspx
Merci de m'aider...
Partager