Afficher des images miniatures dans un état access

Signaler
Messages postés
3
Date d'inscription
vendredi 20 février 2004
Statut
Membre
Dernière intervention
19 octobre 2007
-
Messages postés
3
Date d'inscription
vendredi 20 février 2004
Statut
Membre
Dernière intervention
19 octobre 2007
-
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.

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

Voici le code que je désire implémenter, mais qui ne marche pas :

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

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)

http://msdn2.microsoft.com/fr-fr/library/system.drawing.image.getthumbnailimage(VS.80).aspx

Merci de m'aider...

2 réponses

Messages postés
3
Date d'inscription
vendredi 20 février 2004
Statut
Membre
Dernière intervention
19 octobre 2007

Bonjour,

Personne n'a d'idée. Mon problème est en fait de convertir du code vb.net ou c en vba pour access.

Est ce que je référencie la bonne dll ? Est ce que je dois déclarer ma fonction. Dois.mettre avant d'appeler ma fonction la référence de la dll ?

Merci de m'aider, je suis un peu perdu ... 
Messages postés
3
Date d'inscription
vendredi 20 février 2004
Statut
Membre
Dernière intervention
19 octobre 2007

Comment implémenteriez-vous ce code dans Access ?

- Référence dll
- Déclaration de la fonction
- Déclaration des variables.

Merci.

publicbool ThumbnailCallback()
{
returnfalse;
}
publicvoid Example_GetThumb(PaintEventArgs e)
{
Image.GetThumbnailImageAbort myCallback =
new Image.GetThumbnailImageAbort(ThumbnailCallback);
Bitmap myBitmap = new Bitmap("Climber.jpg");
Image myThumbnail = myBitmap.GetThumbnailImage(
40, 40, myCallback, IntPtr.Zero);
e.Graphics.DrawImage(myThumbnail, 150, 75);
}