MIME-Version: 1.0 Content-Location: file:///C:/2CCBB24E/WindowsImageAcquisition.htm Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset="us-ascii" Configuration minimum : Windows XP
atoutfox.org
ATOUTFOX - 2004

Configuration minimum : Windows XP

Librairie requise : Windows Image Acquisition Automation Library v2.0 http:= //www.microsoft.com/downloads/details.aspx?FamilyID=3Da332a77a-01b8-4de6-91= c2-b7ea32537e29&DisplayLang=3Den



La couche 2,0 d'automation de l'acquisition d'image de Microsoft Windows (W= IA) est un composant de haute qualité et complet de manipulation d'image= qui fournit des possibilités de traitement bout à bout d'image po= ur Microsoft Visual Basic 6,0 ,Visual FoxPro, des pages actives de serveur (as= p), et des langues scripting. La couche d'automation de WIA expose des disposit= ifs dans le paquet 1 (SP1) de service de Windows XP ou le rendre plus tard faci= le d'acquérir des images sur les appareils-photo numériques, les modules de balayage, ou les appareils-photo d'enchaînement, et de tourner, mesurer, et annoter vos dossiers d'image.



Les propriétés du WIA :

Accédez aux propriétés d’un fichier image.
Lire et écrire les fichiers d'image et leurs propriétés dans une base de données.
Modifiez les pixels incluant les valeurs alpha.
Écrivez les pages d'asp qui produisent des images thumbnails.
Images de prise avec votre caméra Web.
Téléchargez automatiquement les images des caméras Web dès qu'elles seront reliées.


Une fois que vous avez transféré des images à votre ordinateur, vous pouvez employer l'objet d'ImageFile pour accéder aux images. Vous pouvez les montrer sur un formulaire, les renvoyer en tant que données binaires en pages d'asp, ou accéder à leurs propriétés.



Exemple : Comment accéder à un fichier image :


Img =3D Cre=
ateObject("WIA.ImageFile")
Img.LoadFile("C:WINDOWSWebWallpaperBliss.bmp")
<= /pre>





Afin de protéger les images d'original qui représentent des mémoires numériques, l'objet d'ImageFile ne peut pas directem= ent modifier les images. Vous pouvez, cependant, employer un objet d'ImageProce= ss et un ou plusieurs objets de filtre pour créer une copie modifi&eacu= te;e de l'image. La couche d'automation de WIA fournit les filtres qui tournent, renversent, cultivent, mesurent, emboutissent, modifient des propriétés, modifient les différents Pixel ou changent= le format de dossier en format étiqueté de dossier d'image (tiff= ), JPEG, les graphiques portatifs de réseau (png), la carte binaire (BM= P), ou les graphiques échangent le format (GIF).


Exemple : Comment faire la rotation d’un fichier image de 90◦= ;

Local img,I=
P
img =3D Createobject("WIA.ImageFile") && Créer un = instance de ImageFile
IP =3D Createobject("WIA.ImageProcess") && Créer u= n instance de ImageProcess
img.LoadFile("C:WINDOWSWebWallpaperBliss.bmp") && Doit-et= re un fichier valide
IP.Filters.Add(IP.FilterInfos("RotateFlip").FilterID) && = Accéder au filtre RorateFlip
IP.Filters(1).Properties("RotationAngle") =3D 90 && Faire= un rotation de 90 degrées
img =3D IP.Apply(img) && Appliquer les changements
img.SaveFile("C:WINDOWSWebWallpaperBliss90.bmp") && Sauve= garder sous un autre nom.



Exemple : Comment créer un thumbnail (comment changer les dimensi= ons d’un fichier image)

LOCAL img,I=
P
Img =3D CreateObject("WIA.ImageFile") && Créer un = instance de ImageFile
IP =3D CreateObject("WIA.ImageProcess") && Créer u= n instance de ImageProcess
Img.LoadFile("C:WINDOWSWebWallpaperBliss.bmp") && Doit-et= re un fichier valide
IP.Filters.Add(IP.FilterInfos("Scale").FilterID) ) && Acc= éder au filtre Scale
IP.Filters(1).Properties("MaximumWidth") =3D 100  &&Changer la dimension largeur.
IP.Filters(1).Properties("MaximumHeight") =3D 100 &&Chang= er la dimension hauteur.
Img =3D IP.Apply(Img) && Appliquer les changements
Img.SaveFile("C:WINDOWSWebWallpaperBlissThumb.bmp") &&Sau= vegarder sous un autre




Exemple : Comment combiner deux images en une.

Img =3D Cre=
ateObject("WIA.ImageFile")
Thumb =3D CreateObject("WIA.ImageFile")
IP =3D CreateObject("WIA.ImageProcess")
Img.LoadFile( "C:WINDOWSWebWallpaperBliss.bmp")
Thumb.LoadFile ("C:WINDOWSWebWallpaperBlissThumb.bmp")
IP.Filters.Add( IP.FilterInfos("Stamp").FilterID)
IP.Filters(1).Properties("ImageFile") =3D Thumb
IP.Filters(1).Properties("Left") =3D Img.Width - Thumb.Width
IP.Filters(1).Properties("Top") =3D Img.Height - Thumb.Height
Img =3D IP.Apply(Img)
Img.SaveFile( "C:WINDOWSWebWallpaperBlissStamp.bmp")



Exemple : Comment couper (crop) un fichier image.
<= /p>

Img =3D Cre=
ateObject("WIA.ImageFile")
IP =3D CreateObject("WIA.ImageProcess")
Img.LoadFile("C:WINDOWSWebWallpaperBliss.bmp")
IP.Filters.Add( IP.FilterInfos("Crop").FilterID)
IP.Filters(1).Properties("Left") =3D Img.Width/4
IP.Filters(1).Properties("Top") =3D Img.Height/4
IP.Filters(1).Properties("Right") =3D Img.Width/4
IP.Filters(1).Properties("Bottom") =3D Img.Height/4
Img =3D IP.Apply(Img)
Img.SaveFile("C:WINDOWSWebWallpaperBlissCrop.bmp")



Exemple: Comment obtenir les informations d’un fichier images.=

Img =3D CreateObject("<=
span
class=3DSpellE>WIA.ImageFile")
Img.LoadFile ("C:WIND= OWSWebWallpaperBliss.bmp")
s =3D "Width =3D " + TRANSFORM(Img.Width) + chr(13) + ;
    "Height =3D= " + TRANSFORM(Img.Height) + chr(13) + ;=
    "Depth =3D = " + TRANSFORM(Img.PixelDepth) + chr(13)= + ;
    "HorizontalResolution =3D " + TRANSFORM(Img.HorizontalResolution) + chr<= /span>(13) + ;
    "VerticalResolution =3D " + TRANSFORM(Img.VerticalResolution) + chr(13) + ;
    "FrameCount =3D " + TRANSFORM(Img.FrameCount) + chr(13)
If Img.IsIndexedPixelFormat
    s =3D s + "= Pixel data contains palette indexes" + chr(13)
EndIf
If Img.IsAlphaPixelFormat
    s =3D s + "= Pixel data has alpha information" + chr(13)
EndIf
If Img.IsExtendedPixelFormat
    s =3D s + "= Pixel data has extended color information (16 bit/channel)" + chr(13)
EndIf
If Img.IsAnimated
    s =3D s + "= Image is animated" + chr(13)
EndIf
If Img.Properties.Exists("40091")
       =      v =3D Img.Properties("40091").Value
    s =3D s + "= Title =3D " + v.String + chr(13)
EndIf
If Img.Properties.Exists("40092")
       =      v =3D Img.Properties("40092").Value
    s =3D s + "= Comment =3D " + v.String + chr(13)
EndIf
If Img.Properties.Exists("40093")
       =      v =3D Img.Properties("40093").Value
    s =3D s + "= Author =3D " + v.String + chr(13)
EndIf
If Img.Properties.Exists("40094")
       =      v =3D Img.Properties("40094").Value
    s =3D s + "= Keywords =3D " + v.String + chr(13)
EndIf
If Img.Properties.Exists("40095")
       =      v =3D Img.Properties("40095").Value
    s =3D s + "= Subject =3D " + v.String + chr(13)
EndIf
MESSAGEBOX( s)