Comment visualiser un fichier image en *.tif

Le
pierre.rivet
Bonjour à tous,

Je cherche le moyen d'afficher un fichier *.tif dans une page de VB

Avec les contrôles Image et PictureBox, on affiche très bien les fichiers
*.bmp, *.jpg et *.gif
mais avec les images *.tif l'ordinateur me renvoie le message "Image
incorrecte dans la procédure suivante:


Public Sub AFFICHERADIO(TextCheminImage As String)

On Error GoTo Information
Image1.Picture = LoadPicture(TextCheminRadio)
Picture1.Picture = LoadPicture(TextCheminRadio)
Image1.Top = 0
Image1.Left = 0
Largeur = Picture1.Width
Hauteur = Picture1.Height

KL = 7070 / Largeur
KH = 10000 / Hauteur
If KL <= KH Then
K = KL
Else
K = KH
End If
Image1.Width = Largeur * K
Image1.Height = Hauteur * K

Exit Sub

Information:
MsgBox Err.Description
TextCheminRadio = ""
End Sub


Merci à l'avance de votre aide,

Pierre
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 3
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Driss HANIB
Le #15370351
salut pierre,

regarde un fichier xnview : controle pour afficher les différents types
d'images

http://pagesperso-orange.fr/pierre.g/xnview/frxnview.html

Driss

"pierre.rivet" 47c40620$0$883$
Bonjour à tous,

Je cherche le moyen d'afficher un fichier *.tif dans une page de VB

Avec les contrôles Image et PictureBox, on affiche très bien les fichiers
*.bmp, *.jpg et *.gif
mais avec les images *.tif l'ordinateur me renvoie le message "Image
incorrecte dans la procédure suivante:

==================================================================== > Public Sub AFFICHERADIO(TextCheminImage As String)

On Error GoTo Information
Image1.Picture = LoadPicture(TextCheminRadio)
Picture1.Picture = LoadPicture(TextCheminRadio)
Image1.Top = 0
Image1.Left = 0
Largeur = Picture1.Width
Hauteur = Picture1.Height

KL = 7070 / Largeur
KH = 10000 / Hauteur
If KL <= KH Then
K = KL
Else
K = KH
End If
Image1.Width = Largeur * K
Image1.Height = Hauteur * K

Exit Sub

Information:
MsgBox Err.Description
TextCheminRadio = ""
End Sub
================================================== >
Merci à l'avance de votre aide,

Pierre




Jacques93
Le #15370341
Bonjour pierre.rivet,
pierre.rivet a écrit :
Bonjour à tous,

Je cherche le moyen d'afficher un fichier *.tif dans une page de VB

Avec les contrôles Image et PictureBox, on affiche très bien les fichiers
*.bmp, *.jpg et *.gif
mais avec les images *.tif l'ordinateur me renvoie le message "Image
incorrecte dans la procédure suivante:




[...]

En complément de la proposition de Driss HANIB, le format d'image TIF
n'est pas reconnu de base par VB, mais on peux y accéder via les api's
de GDI+. Quelques pistes :



NB : une inscription est nécessaire pour télécharger les sources sur ces
sites, mais c'est totalement gratuit :-)

--
Cordialement,

Jacques.
Jacques93
Le #15370331
Jacques93 a oublié de préciser :
Bonjour pierre.rivet,


[...]




que c'est le fichier "gdiplus2.zip" dont le lien est sur cette page qui
est ici intéressant, il contient un module de classe et une librairie de
type (.tlb) pour GDI++

--
Cordialement,

Jacques.
pierre.rivet
Le #15370321
Bonsoir Driss,

Merci de ta réponse.
Je viens de télécharger le logiciel en question, qui a l'air très complet.
Mais ça ne répond pas tout à fait à mon souhait.
L'idéal aurait été un contrôle à insérer dans une feuille *.frm

Je suis obligé de rajouter dans mon "empaquetage" le fichier setup de
xnview...

Même après avoir renommé un fichier *.tif en *.jpg ou *.gif j'ai toujours le
même message d'erreur.

Ou alors tu as une idée derrière la tête que je n'ai pas bien comprise,
parce que tu parles de "contrôle pour afficher les différents types
d'images".

Merci encore, si tu as des précisions supplémentaires,

Pierre


"Driss HANIB" %
salut pierre,

regarde un fichier xnview : controle pour afficher les différents types
d'images

http://pagesperso-orange.fr/pierre.g/xnview/frxnview.html

Driss

"pierre.rivet" 47c40620$0$883$
Bonjour à tous,

Je cherche le moyen d'afficher un fichier *.tif dans une page de VB

Avec les contrôles Image et PictureBox, on affiche très bien les fichiers
*.bmp, *.jpg et *.gif
mais avec les images *.tif l'ordinateur me renvoie le message "Image
incorrecte dans la procédure suivante:

==================================================================== >> Public Sub AFFICHERADIO(TextCheminImage As String)

On Error GoTo Information
Image1.Picture = LoadPicture(TextCheminRadio)
Picture1.Picture = LoadPicture(TextCheminRadio)
Image1.Top = 0
Image1.Left = 0
Largeur = Picture1.Width
Hauteur = Picture1.Height

KL = 7070 / Largeur
KH = 10000 / Hauteur
If KL <= KH Then
K = KL
Else
K = KH
End If
Image1.Width = Largeur * K
Image1.Height = Hauteur * K

Exit Sub

Information:
MsgBox Err.Description
TextCheminRadio = ""
End Sub
================================================== >>
Merci à l'avance de votre aide,

Pierre








Driss HANIB
Le #15370311
Bonjour,

je t'avoue que je n'ai jamais utilisé ce prog pour mon compte, mais j'en ai
entendu parler en bien.
Quant à ton image, je pense qu'il ne sert à rien de la renommer en jpg ou
autre, le format correspondant n'étant pas adapté.
Peux tu ouvrir ton image avec des logiciels de traitement d'image (paint
shop pro, ou autre) ?
ton image n'est elle pas corrompue ?

Driss
"pierre.rivet" 47c4394b$0$895$
Bonsoir Driss,

Merci de ta réponse.
Je viens de télécharger le logiciel en question, qui a l'air très complet.
Mais ça ne répond pas tout à fait à mon souhait.
L'idéal aurait été un contrôle à insérer dans une feuille *.frm

Je suis obligé de rajouter dans mon "empaquetage" le fichier setup de
xnview...

Même après avoir renommé un fichier *.tif en *.jpg ou *.gif j'ai toujours
le même message d'erreur.

Ou alors tu as une idée derrière la tête que je n'ai pas bien comprise,
parce que tu parles de "contrôle pour afficher les différents types
d'images".

Merci encore, si tu as des précisions supplémentaires,

Pierre


"Driss HANIB" %
salut pierre,

regarde un fichier xnview : controle pour afficher les différents types
d'images

http://pagesperso-orange.fr/pierre.g/xnview/frxnview.html

Driss

"pierre.rivet" 47c40620$0$883$
Bonjour à tous,

Je cherche le moyen d'afficher un fichier *.tif dans une page de VB

Avec les contrôles Image et PictureBox, on affiche très bien les
fichiers *.bmp, *.jpg et *.gif
mais avec les images *.tif l'ordinateur me renvoie le message "Image
incorrecte dans la procédure suivante:

==================================================================== >>> Public Sub AFFICHERADIO(TextCheminImage As String)

On Error GoTo Information
Image1.Picture = LoadPicture(TextCheminRadio)
Picture1.Picture = LoadPicture(TextCheminRadio)
Image1.Top = 0
Image1.Left = 0
Largeur = Picture1.Width
Hauteur = Picture1.Height

KL = 7070 / Largeur
KH = 10000 / Hauteur
If KL <= KH Then
K = KL
Else
K = KH
End If
Image1.Width = Largeur * K
Image1.Height = Hauteur * K

Exit Sub

Information:
MsgBox Err.Description
TextCheminRadio = ""
End Sub
================================================== >>>
Merci à l'avance de votre aide,

Pierre












pierre.rivet
Le #15370301
Merci à tous les deux de tous vos éléments de réponse.
Je m'y mets dès que possible,

Pierre

"Jacques93" a écrit dans le message de news:
e%23U%
Jacques93 a oublié de préciser :
Bonjour pierre.rivet,


[...]




que c'est le fichier "gdiplus2.zip" dont le lien est sur cette page qui
est ici intéressant, il contient un module de classe et une librairie de
type (.tlb) pour GDI++

--
Cordialement,

Jacques.


pierre.rivet
Le #15370231
Bonjour Jacques et Driss,

J'ai testé cette fonction.

Elle fonctionne de façon impeccable pour afficher un fichier en *.tif
Merci du tuyau.

=================================================== Private Sub Form_Load()
'FillRect App.Path & "tile.bmp", Me.hdc, 0, 0, Me.ScaleWidth,
Me.ScaleHeight, WrapModeTile 'Impeccable
'FillRect App.Path & "screen.jpg", Me.hdc, 0, 0, Me.ScaleWidth,
Me.ScaleHeight, WrapModeTile
FillRect App.Path & "ISIS.tif", Me.hdc, 0, 0, Me.ScaleWidth,
Me.ScaleHeight, WrapModeTile 'ça fonctionne mais l'écran est rempli de
plusieurs images.
Me.Refresh
End Sub
=================================================== Par contre, comment faire pour que la dimension de la page soit celle de
l'image ?
Ce serait parfait.

Merci à l'avance, on se rapproche de la vérité,

Pierre



"Jacques93" a écrit dans le message de news:
OmhVi%
Bonjour pierre.rivet,
pierre.rivet a écrit :
Bonjour à tous,

Je cherche le moyen d'afficher un fichier *.tif dans une page de VB

Avec les contrôles Image et PictureBox, on affiche très bien les fichiers
*.bmp, *.jpg et *.gif
mais avec les images *.tif l'ordinateur me renvoie le message "Image
incorrecte dans la procédure suivante:




[...]

En complément de la proposition de Driss HANIB, le format d'image TIF
n'est pas reconnu de base par VB, mais on peux y accéder via les api's de
GDI+. Quelques pistes :



NB : une inscription est nécessaire pour télécharger les sources sur ces
sites, mais c'est totalement gratuit :-)

--
Cordialement,

Jacques.


Jacques93
Le #15370221
Bonjour,
pierre.rivet a écrit :
Bonjour Jacques et Driss,

J'ai testé cette fonction.

Elle fonctionne de façon impeccable pour afficher un fichier en *.tif
Merci du tuyau.

=================================================== > Private Sub Form_Load()
'FillRect App.Path & "tile.bmp", Me.hdc, 0, 0, Me.ScaleWidth,
Me.ScaleHeight, WrapModeTile 'Impeccable
'FillRect App.Path & "screen.jpg", Me.hdc, 0, 0, Me.ScaleWidth,
Me.ScaleHeight, WrapModeTile
FillRect App.Path & "ISIS.tif", Me.hdc, 0, 0, Me.ScaleWidth,
Me.ScaleHeight, WrapModeTile 'ça fonctionne mais l'écran est rempli de
plusieurs images.
Me.Refresh
End Sub
=================================================== > Par contre, comment faire pour que la dimension de la page soit celle de
l'image ?
Ce serait parfait.

Merci à l'avance, on se rapproche de la vérité,




J'en déduis que tu as utilisé le code de Renfield (Bonjour à lui) publié
sur vbfrance. Avec FillRect, c'est normal, si tu regardes l'image
tile.bmp, elle est "faite" pour WrapModeTile. Il y a probablement
plusieurs solutions, pour ma part, je modifierai une ligne dans la
procédure "DrawImage" :

GdipDrawImageRectRectI hTargetGraphics, hImage, lpOrg.x + vnWidth *
-0.5, lpOrg.y + vnHeight * -0.5, vnWidth, vnHeight, 0, 0, nWidth,
nheight, UnitPixel, hImageAttr

par

GdipDrawImageRectRectI hTargetGraphics, hImage, lpOrg.x, lpOrg.y,
vnWidth, vnHeight, 0, 0, nWidth, nheight, UnitPixel, hImageAttr

pour cadrer l'image en haut à gauche (tu peux aussi passer ce cadrage en
paramètre au besoin), et afficher l'image en appelant :

DrawImage App.Path & "ISIS.tif", Me.hdc, 0, 0, Me.ScaleWidth, _
Me.ScaleHeight, 1, 0

l'image sera redimensionnée à la taille du conteneur.

--
Cordialement,

Jacques.
Jacques93
Le #15370211
Jacques93 a écrit :
Bonjour,



[...]

Par contre, comment faire pour que la dimension de la page soit celle
de l'image ?





Dans ma réponse précédente j'ai peut être mal compris, tu préfères peut
être redimensionner la feuille à la taille de l'image, plutôt que de
redimensionner l'image à la taille de la feuille.

Peux tu préciser ?

--
Cordialement,

Jacques.
pierre.rivet
Le #15370141
Pardon Jacques,

J'ai essayé de travailler dessus une partie de l'après midi, mais sans
succès pour l'instant.

En fait depuis tout à l'heure j'utilise plutôt la fonction DRawImage:, comme
ci-dessous:

=========================================================== Private Sub Form_Load()

On Error GoTo Erreur
nAngle = 0
nTransparency = 1
x = 0
y = 0

DrawImage CheminImage, Me.hdc, x, y, vnTransparency:=nTransparency,
vnAngle:=nAngle

'# On force le rafraîchissement
Me.Refresh
Me.width = nWidth * 15.4

If nHeight < 2000 Then
Me.height = nHeight * 19
Else
Me.height = nHeight * 16.5
End If
Me.Caption = CheminImage
Me.Left = 500
Me.Top = 500

Exit Sub
Erreur:
' handle cancel silently
MsgBox Err.Description
End Sub
================================================== Ce que je voudrais, c'est adapter la feuille à la taille de l'image, à
condition que les dimensions de la feuille ne dépassent pas l'écran.
Certaines images prises avec des appareils photos numériques sont beaucoup
trop grandes si j'utilise mon dimensionnement ci-dessus.

Les chiffres 15.4 / 16.5 / 19 sont des chiffres obtenus pas tâtonnements,
mais pas rigoureux.

Vois-tu un peu plus clair dans mon problème ?

Merci encore de t'y intéresser....

Pierre



"Jacques93" a écrit dans le message de news:
%23uWGF$
Jacques93 a écrit :
Bonjour,



[...]

Par contre, comment faire pour que la dimension de la page soit celle de
l'image ?





Dans ma réponse précédente j'ai peut être mal compris, tu préfères peut
être redimensionner la feuille à la taille de l'image, plutôt que de
redimensionner l'image à la taille de la feuille.

Peux tu préciser ?

--
Cordialement,

Jacques.


Publicité
Poster une réponse
Anonyme