Accueil > Forum > > > > extraire résolution d'image
extraire résolution d'image
jeudi 1 juin 2006 à 02:53:21 |
extraire résolution d'image

yan35
|
Bonjour, Comment peut-on obtenir la résolution d'une image (BMP ou JPG) ? En fait, je voudrais calculer sa taille en pouces à partir de sa taille en pixels que je sais retrouver. Merci
|
|
jeudi 1 juin 2006 à 09:29:20 |
Re : extraire résolution d'image

Renfield
|
Réponse acceptée !
tu peux faire :
Dim oPic As StdPicture Set oPic = LoadPicture("i:\a.jpg") MsgBox Me.ScaleX(oPic.Width, vbHimetric, vbInches) & "x" & Me.ScaleY(oPic.Height, vbHimetric, vbInches)
Renfield Admin CodeS-SourceS- MVP Visual Basic
|
|
jeudi 1 juin 2006 à 11:24:14 |
Re : extraire résolution d'image

Gobillot
|
Réponse acceptée !
ou par les propriétés fichier:
Dim objShell As Object
Dim objFolder As Object
Dim strFileName As Object
Dim Path As Variant
Dim Filename As String
Path = "C:\WINDOWS"
Filename = "Bulles de savon.bmp"
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.NameSpace(Path)
Set strFileName = objFolder.ParseName(Filename)
MsgBox "Largeur=" & objFolder.GetDetailsOf(strFileName, 27)
MsgBox "Hauteur=" & objFolder.GetDetailsOf(strFileName, 28)
Set strFileName = Nothing
Set objFolder = Nothing
Set objShell = Nothing
Daniel
|
|
jeudi 1 juin 2006 à 11:30:39 |
Re : extraire résolution d'image

Gobillot
|
Réponse acceptée !
ou par lecture directe:
Dim Largeur As Long
Dim Hauteur As Long
Dim Filename As String
Filename = "C:\WINDOWS\Bulles de savon.bmp"
Open Path & "\" & Filename For Binary As #1
Get #1, 19, Largeur
Get #1, 23, Hauteur
Close #1
MsgBox "Largeur=" & Largeur
MsgBox "Hauteur=" & Hauteur
Dim Largeur As Long
Dim Hauteur As Long
Dim Filename As String
Dim Buffer As String
Dim i As Integer
Filename = "C:\IMAGES\01.jpg"
Open Path & "\" & Filename For Binary As #1
Buffer = Space$(LOF(1))
Get #1, , Buffer
Close #1
i = InStr(Buffer, Chr$(255) & Chr$(192))
MsgBox "Largeur=" & Asc(Mid$(Buffer, i + 7, 1)) * 256 + Asc(Mid$(Buffer, i + 8, 1))
MsgBox "Hauteur=" & Asc(Mid$(Buffer, i + 5, 1)) * 256 + Asc(Mid$(Buffer, i + 6, 1))
Daniel
|
|
vendredi 2 juin 2006 à 00:21:27 |
Re : extraire résolution d'image

yan35
|
Merci à Renfield et Gobillot pour leur aide. Ca fonctionne, mais j'ai mal posé ma question. En fait ce que je veux obtenir c'est la résolution horizontale ou verticale d'une image et non sa hauteur et largeur. Ceci pour convertir ses dimensions connues de pixels en pouces puis points en faisant : largeur en Px / résolution horizontale = largeur en pouces ex: 444 px 300 1,48" comme l'info que l'on obtient en cliquant sur propriété d'un fichier image dans l'explorateur. J'ai bien sûr essayé d'utiliser Me.scaleX et scaleY pour obtenir des pouces, puis le rapport pixels / pouces pour obtenir la résolution mais ça ne marche pas. En fait, j'obtiens la résolution de l'écran mais pas de l'image. Je sais que dans BITMAPINFOHEADER pour 1 BMP on a 1 info Pixels par mètre à l'horizontale et verticale mais les doc indiquent "notion pour imprimante" et en + elle n'est pas toujours servie, je ne crois donc pas que ce soit la bonne piste ....
Donc si quelqu'un a un truc pour obtenir cette info. Merci
|
|
vendredi 2 juin 2006 à 00:47:31 |
Re : extraire résolution d'image

Gobillot
|
Réponse acceptée !
en BMP position 39 et 43
par exemple 80 0C 00 00 --> &HC80 = 3200 pixels par mètre
32,00 * 2.54 = 81 ppp
si zéro par défaut 72 pour l'imprimante, 96 pour l'écran
Daniel
|
|
vendredi 2 juin 2006 à 01:33:09 |
Re : extraire résolution d'image

Gobillot
|
en JPG c'est tout au début en FF E0 position 16 et 18 sur 2 caractères
à vérifier parce que je viens juste de le trouver en comparant 2 images.
si je reviens à mon exemple 3200 pixels par mètres
soit 32 pixels par cm
donc une image de 640 pixels donnera sur l'imprimante (à 72 dpi) une taille de 20 cm
Daniel
|
|
vendredi 2 juin 2006 à 19:21:03 |
Re : extraire résolution d'image

yan35
|
Merci de tes réponses Gobillot, c'est très sympa de répondre aussi vite à cette heure de la nuit. Aujourd'hui j'ai été surbooked, je n'ai donc pas testé ce que tu m'as dit mais je vais regardé. En tout cas ça me semble bien répondre. Je ne suis pas 1 virtuose de la lecture hexa mais je sais faire les conversions par contre je n'ai pas compris, dans 1 premier tps, le passage dans ton exemple de 80 0C 00 00 à &HC80 ensuite ça va. (&H je sais) Quoiqu'il en soit MERCI
|
|
samedi 3 juin 2006 à 02:09:35 |
Re : extraire résolution d'image

Gobillot
|
Réponse acceptée !
Salut, oui je sais toujours aussi tard ...
80 0C 00 00 c'est un long sur 4 octets avec l'octet faible au début (Little indian)
donc faut le retourner 00 00 0C 80 --> &H00000C80
mais bon c'est pas la peine, il suffit de le lire directement dans un Long
Get #1, 19, Largeur
pour JPG c'est différent c'est en Big indian sur 2 octets
d'ailleurs c'est pour cela que me suis trompé, c'est plutôt en position 15 et 17:
FF D8 FF E0 00 10 4A 46 49 46 00 01 01 01 00 C8 00 C8 00 00 FF FE
00
10
--> Longueur = 16 (sans le FFE0)
4A 46 49 46 00 --> JFIF (la signature en chaîne ASCIIZ)
01 01 --> version 1.1
01
--> codage en pixels (important: je sais pas s'il y a
d'autres possibilités)
00
C8
--> résolution X = 200
00
C8
--> résolution Y = 200
00
00
--> c'est pour les miniatures
on ne peut donc pas le lire directement, il faut calculer
&H00 * 256 + &HC8
ce que j'avais fait ici:
Asc(Mid$(Buffer, i + 7, 1)) * 256 + Asc(Mid$(Buffer, i + 8, 1))
Daniel
|
|
samedi 3 juin 2006 à 12:43:29 |
Re : extraire résolution d'image

yan35
|
Un très grand Merci à Gobillot, c'est exactement ce qu'il me fallait, je vais tester tout ça.
|
|
Cette discussion est classée dans : taille, image, extraire, résolution
Répondre à ce message
Sujets en rapport avec ce message
Résolution d'une Image(Taille) [ par MEGATRIX ]
J'ai une image chargée dans un controle image comment je pourai connaitre la taille de l'image chargée dans ce controle, jne veux pas la taille du con
Résolution d'une Image(Taille) [ par MEGATRIX ]
J'ai une image chargée dans un controle image comment je pourai connaitre la taille de l'image chargée dans ce controle, jne veux pas la taille du con
Taille d'un controle [ par MorpionMx ]
Bonsoir, J'aurais aimé savoir comment faire pour qu'un controle ait une taille fixe, quelque soit la résolution de l'écran En fait, j'ai un control
Résolution et taille d'une image [ par dany108 ]
Bonjour à tous,j'aimerai lire la taille et la résolution d'une image depuis mon appli mais sans passer par par un contrôle Kodak ou machin chose comme
la résolution d'une image en DPI [ par siyassine ]
(sous VB6)Bonjour à tous !!Ma question est : comment faire, pour avoir la résolution d'une image en DPI <br
taille d'image dans une picture box [ par rachidkadi ]
Bonjour,je suis nouveaux sur le site, veuillez m'escuser si la forme d'y est pas le temps pour moi de m'adapter Merci d'avance.je souhaite mettre une
Travailler image de grande taille [ par papy27 ]
Bonjour, Je viens vers vous pour trouver conseils et aide sur le travail d'images de grande tailles. TOut d'abord, une petite explication: Je dois
Image et Résolution [ par dglaneuville ]
Bonjour, j'aborde la programmation DirectX depuis peu et alors que je pensais avoir bien avancé, je bute sur un soucis à priori simple : Résolution é
Agrandir la taille d'une image [ par ymas00 ]
Bonjour à tous,J'ai un petit souci au moment d'enregistrer une image avec une taille plus grande que l'origine.je cherche une méthode pour agrandir la
Livres en rapport
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|