Bibliothèques d’image ImageMagick
Pour ses bibliothèques d’images, audio et vidéo, EMu utilise la bibliothèque ImageMagick, une solution open-source qui supporte les nouveaux formats d'images et les standards de métadonnées au moment de leur apparition.
L'accès aux métadonnées (EXIF, IPTC et XMP) stockées dans les fichiers images est aussi faisable à travers ImageMagick et EMu est capable d'utiliser ce support pour extraire les métadonnées des images principales et de les annexer dans des images dérivées (configuré en utilisant des entrées de Registre).
Cette section fournit des détails sur :
Les bibliothèques ImageMagick distribuées avec EMu sont stockées dans le même répertoire que l'exécutable du programme. Si une installation en réseau est effectuée, les bibliothèques résident sur une machine serveur dans un répertoire accessible à toutes les machines clientes. Dans le cas d'une installation autonome, elles sont installées sur la machine locale. Les bibliothèques ne nécessitent aucun enregistrement auprès de Windows (c'est-à-dire qu'elles ne sont pas des objets COM). La structure du répertoire est :
où :
ImageMagick Core Libraries
contient le coeur des fonctionnalités des images (ex. code de redimensionnement, etc.) et Configuration Files contient les langages spécifiques et autres fichiers de configuration. Ces fichiers n'ont pas besoin d'être modifiés.Image Reader/Writers
est une collection de fichiers utilisés pour lire et écrire des formats d'images spécifiques. Par exemple, IM_MOD_RL_jpeg_.dll est utilisé pour lire et écrire des fichiers JPEG.Image Filters
est utilisé pour produire des informations statistiques sur des images (non utilisé par EMu).
Par défaut, EMu installe les bibliothèques 16 bits d'ImageMagick. Ces bibliothèques sont capables de stocker des informations de couleur de 16 bits par mode de couleur, ce qui donne :
- 48 bits par pixel pour des images RGB
- 64 bits par pixel pour CMYK
Auparavant, la plupart des images produites ne stockaient que 8 bits d'informations couleur par canal couleur, mais les appareils numériques plus récents sont désormais capables de produire des images 16 bits avec une plus grande gamme de couleur, pour des images aux couleurs plus « vraies ». C'est pour traiter ces images qu'EMu distribue les bibliothèques 16 bits.
Note: Les images en 8 bits peuvent être lues et manipulées par des bibliothèques 16 bits sans perte de définition.
La prise en charge des images 16 bits entraîne toutefois des frais supplémentaires. Lorsque ImageMagick lit une image, il décode le format du fichier (via un codeur) et le stocke dans un format de pixel non compressé en mémoire. Chaque pixel utilise 64 bits ou 8 octets quel que soit le nombre de bits par pixel dans le fichier image. Si une image de 1000 pixels sur 1000 pixels est lue, la mémoire nécessaire pour contenir l'image est de 8 Mo (1000 * 1000 * 8 octets). En revanche, si on lit une image de 5000 pixels par 5000 pixels, il faut 200 Mo (5000 * 5000 * 8 octets) même s'il s'agit d'une image monochrome !
Note: À moins de disposer d'au moins 1 Go de mémoire, un ordinateur sera considérablement ralenti en traitant ces images. Par conséquent, avant de manipuler des images de grande taille, il convient de s'assurer que la mémoire de l'ordinateur est suffisante pour les traiter.
EMu charge dynamiquement la bibliothèque ImageMagick dès sa première utilisation. Cela veut dire que EMu détermine où les bibliothèques sont installées (par défaut dans le même répertoire que l'exécutable d'EMu) et ensuite les charge en mémoire. Dans le but de localiser les bibliothèques EMu regarde d'abord la variable d'environnement de MAGICK_HOME
. Si elle existe, EMu essaiera de charger les bibliothèques depuis les répertoires spécifiés dans la variable d'environnement. Si elle n'existe pas, EMu regardera le répertoire de l'exécutable.
Il est possible de profiter de la variable d'environnement MAGICK_HOME
pour forcer EMu à charger une version des bibliothèques ImageMagick différente de celle distribuée avec EMu. Par exemple, pour réduire de moitié l'utilisation de la mémoire et charger les images 33 % plus rapidement, il est possible d'utiliser les bibliothèques ImageMagick 8 bits.
Note: En faisant cela, il ne sera cependant pas possible de visualiser ou lire une image de 16 bits.
Pour contourner les bibliothèques installées par EMu :
- Installez la version requise de ImageMagick sur votre machine locale ou votre serveur réseau. Téléchargez-les sur http://www.imagemagick.org/script/download.php. Veillez à télécharger la version DLL, et non la version statique.
- Lancer Démarrer>Panneau de configuration>Système et sélectionner l'onglet Avancée.
- Sélectionner les boutons Variables d'environnement.
- Sous Utilisateur Variables d'Utilisateurs pour …, cliquer le bouton Nouveau.
- Saisir
MAGICK_HOME
dans Variable name et régler la valeur de la Variable sur le répertoire où ImageMagick est installé : - Cliquer le bouton OK pour enregistrer les paramètres.
Maintenant, lorsque EMu chargera les bibliothèques ImageMagick il chargera celles du répertoire sélectionné.
Note: Utilise cette technique pour installer des versions ultérieures des bibliothèques qui supporteront plus de formats d'images (bien que les bibliothèques distribuées avec EMu seront mises à jour de manière régulière).
Si votre organisation ne veut pas utiliser les bibliothèques 16 bits, et que votre installation est en réseau, copier les contenus du répertoire image 8 bits sous le répertoire ImageMagick sous le répertoire avec l'exécutable d'EMu. En utilisant cette technique, il n'est pas nécessaire de définir la variable d'environnement MAGICK_HOME
.
Note: Notons cependant, que la prochaine mise à jour remplacera les bibliothèques avec les versions 16 bits, il faudra donc les recopier encore une fois.
Si les bibliothèques ImageMagick ne peuvent pas être chargées, un message d'erreur s'affichera pour indiquer qu’EMu :
Cannot load ImageMagick libraries
Si les variables d'environnement de MAGICK_HOME
ont été réglées, cette erreur indique que l'une des conditions suivantes n'est pas vraie :
- La valeur de la variable d'environnement doit contenir un chemin vers un répertoire existant.
- L'utilisateur doit au minimum avoir le droit de lister les fichiers dans les répertoires spécifiés.
- Un paramétrage valide des bibliothèques ImageMagick, y compris des répertoires
config
et modules et des fichiers DLL doivent exister dans le répertoire spécifié. - Tous les DLLs dans les répertoires
modules/coders
doivent être accessibles en lecture (Read) et écriture (Execute)pour l'utilisateur courant. - Au minimum tous les répertoires sous le répertoire spécifié (config, modules, modules/coders et modules/filters) doivent pouvoir avoir leurs fichiers listés (List Files).
- Au minimum tous les fichiers de configuration dans config doivent pouvoir être lus (Read).
ImageMagick utilise des délégués pour prendre en charge certains formats d'image. Un délégué est un logiciel qui convertit le format de l'image dans un format que ImageMagick peut traiter. EMu fournit deux délégués avec les bibliothèques ImageMagick :
- dcraw.exe (pour les formats d'appareils photo numériques RAW)
- hp2xx.exe (pour les fichiers HPGL)
Si vous essayez d'importer ou générer un format d'image qui requiert un delegate et qu'il n'est pas installé, un message d'erreur apparaîtra comme celui ci-dessous : Postscript delegate failed...
Dans le but de déterminer le delegate requis et pour le télécharger, visiter la page Formats ImageMagick (http://www.imagemagick.org/script/formats.php). Une fois le logiciel delegate installé le format d'image sera utilisable.
ImageMagick prend en charge un grand nombre de formats d'images. La liste effective des types de fichiers pris en charge dépend de la version de ImageMagick installée. Quand EMu a besoin d'afficher une liste des formats d'images pris en charge (soit pour ajouter une image, soit pour générer un dérivé), il demande à ImageMagick une liste des formats de fichiers qui ont des codeurs. EMu consulte ensuite le registre de Windows pour déterminer si chaque entrée de la liste a un type MIME de image
, rejetant les entrées qui n'en ont pas. Ainsi, si une application installée gère un format d'image donné, EMu l'ajoutera à la liste des Fichiers image disponibles. Enfin, le format d'image doit comporter un encodeur (utilisé pour écrire le format) et un décodeur (utilisé pour lire le format).
La liste des formats supportés est :
Extension de fichier | Codeur |
Lecture/ Écriture/ Multi-page |
Format |
---|---|---|---|
A |
RAW |
rw+ |
Raw alpha samples |
AVS |
AVS |
rw+ |
AVS X image |
B |
RAW |
rw+ |
Raw blue samples |
BIE |
JBIG |
rw- |
Joint Bi-level Image experts Group interchange format (1.5) |
BMP |
BMP |
rw- |
Microsoft Windows bitmap image |
C |
RAW |
rw+ |
Raw cyan samples |
CIN |
CIN |
rw+ |
Cineon Image File |
CMYK |
CMYK |
rw+ |
Raw cyan, magenta, yellow, and black samples |
CMYKA |
CMYK |
rw+ |
Raw cyan, magenta, yellow, black, and opacity samples |
CUR |
CUR |
rw- |
Microsoft icon |
CUT |
CUT |
r-- |
DR Halo |
DCM |
DCM |
r-- |
Digital Imaging and Communications in Medicine image |
DCX |
PCX |
rw+ |
ZSoft IBM PC multi-page Paintbrush |
DNG |
DNG |
r-- |
Digital Negative |
EMF |
WMF |
r-- |
Windows WIN32 API rendered Enhanced Meta File |
EPDF |
|
rw- |
Encapsulated Portable Document Format |
EPI |
PS |
rw- |
Encapsulated PostScript Interchange format |
EPS |
PS |
rw- |
Encapsulated PostScript |
EPSF |
PS |
rw- |
Encapsulated PostScript |
EPSI |
PS |
rw- |
Encapsulated PostScript Interchange format |
EPT |
EPT |
rw- |
Encapsulated PostScript with TIFF preview |
EPT2 |
EPT |
rw- |
Encapsulated PostScript Level II with TIFF preview |
EPT3 |
EPT |
rw+ |
Encapsulated PostScript Level III with TIFF preview |
FAX |
FAX |
rw+ |
Group 3 FAX |
FITS |
FITS |
rw- |
Flexible Image Transport System |
FTS |
FTS |
rw- |
Flexible Image Transport System |
G |
RAW |
rw+ |
Raw green samples |
G3 |
FAX |
rw- |
Group 3 FAX |
GIF |
GIF |
rw+ |
CompuServe graphics interchange format |
GIF87 |
GIF |
rw- |
CompuServe graphics interchange format (version 87a) |
GRAY |
GRAY |
rw+ |
Raw gray samples |
ICB |
TGA |
rw+ |
Truevision Targa image |
ICO |
ICON |
rw- |
Microsoft icon |
ICON |
ICON |
rw- |
Microsoft icon |
JBG |
JBIG |
rw+ |
Joint Bi-level Image experts Group interchange format (1.5) |
JBIG |
JBIG |
rw+ |
Joint Bi-level Image experts Group interchange format (1.5) |
JNG |
PNG |
rw- |
JPEG Network Graphics |
JP2 |
JP2 |
rw- |
JPEG-2000 File Format Syntax |
JPC |
JPC |
rw- |
JPEG-2000 Code Stream Syntax |
JPEG |
JPEG |
rw- |
Joint Photographic Experts Group JFIF format (62) |
JPG |
JPEG |
rw- |
Joint Photographic Experts Group JFIF format |
JPX |
JPX |
rw- |
JPEG-2000 File Format Syntax |
K |
RAW |
rw+ |
Raw black samples |
M |
RAW |
rw+ |
Raw magenta samples |
MAP |
MAP |
rw- |
Colormap intensities and indices |
MAT |
MAT |
rw+ |
MATLAB image format |
MIFF |
MIFF |
rw+ |
Magick Image File Format |
MNG |
PNG |
rw+ |
Multiple-image Network Graphics (libpng 1.2.8) |
MONO |
MONO |
rw- |
Bi-level bitmap in least-significant-byte first order |
MPC |
MPC |
rw+ |
Magick Persistent Cache image format |
MSL |
MSL |
rw+ |
Magick Scripting Language |
MTV |
MTV |
rw+ |
MTV Raytracing image format |
MVG |
MVG |
rw- |
Magick Vector Graphics |
O |
RAW |
rw+ |
Raw opacity samples |
OTB |
OTB |
rw- |
On-the-air bitmap |
PAL |
UYVY |
rw- |
16bit/pixel interleaved YUV |
PALM |
PALM |
rw+ |
Palm pixmap |
PAM |
PNM |
rw+ |
Common 2-dimensional bitmap format |
PBM |
PNM |
rw+ |
Portable bitmap format (black and white) |
PCD |
PCD |
rw- |
Photo CD |
PCDS |
PCD |
rw- |
Photo CD |
PCL |
PCL |
rw- |
Printer Control Language |
PCT |
PICT |
rw- |
Apple Macintosh QuickDraw/PICT |
PCX |
PCX |
rw- |
ZSoft IBM PC Paintbrush |
PDB |
PDB |
rw+ |
Palm Database ImageViewer Format |
|
|
rw+ |
Portable Document Format |
PGM |
PNM |
rw+ |
Portable graymap format (gray scale) |
PGX |
PGX |
r-- |
JPEG-2000 VM Format |
PICON |
XPM |
rw- |
Personal Icon |
PICT |
PICT |
rw- |
Apple Macintosh QuickDraw/PICT |
PIX |
PIX |
r-- |
Alias/Wavefront RLE image format |
PJPEG |
JPEG |
rw- |
Progressive Joint Photographic Experts Group JFIF |
PNG |
PNG |
rw- |
Portable Network Graphics (libpng 1.2.8) |
PNG24 |
PNG |
rw- |
24-bit RGB PNG, opaque only (zlib 1.2.3) |
PNG32 |
PNG |
rw- |
32-bit RGBA PNG, semitransparency OK |
PNG8 |
PNG |
rw- |
8-bit indexed PNG, binary transparency only |
PNM |
PNM |
rw+ |
Portable anymap |
PPM |
PNM |
rw+ |
Portable pixmap format (color) |
PS |
PS |
rw+ |
PostScript |
PSD |
PSD |
rw+ |
Adobe Photoshop bitmap |
PTIF |
TIFF |
rw- |
Pyramid encoded TIFF |
PWP |
PWP |
r-- |
Seattle Film Works |
R |
RAW |
rw+ |
Raw red samples |
RAS |
SUN |
rw+ |
SUN Rasterfile |
RGB |
RGB |
rw+ |
Raw red, green, and blue samples |
RGBA |
RGB |
rw+ |
Raw red, green, blue, and alpha samples |
RGBO |
RGB |
rw+ |
Raw red, green, blue, and opacity samples |
RLA |
RLA |
r-- |
Alias/Wavefront image |
RLE |
RLE |
r-- |
Utah Run length encoded image |
SCR |
SCR |
r-- |
ZX-Spectrum SCREEN$ |
SCT |
SCT |
r-- |
Scitex HandShake |
SFW |
SFW |
r-- |
Seattle Film Works |
SGI |
SGI |
rw+ |
Irix RGB image |
STEGANO |
STEGANO |
r-- |
Steganographic image |
SUN |
SUN |
rw+ |
SUN Rasterfile |
SVG |
SVG |
rw+ |
Scalable Vector Graphics (XML 2.4.19) |
SVGZ |
SVG |
rw+ |
Compressed Scalable Vector Graphics (XML 2.4.19) |
TEXT |
TXT |
rw+ |
Texte |
TGA |
TGA |
rw+ |
Truevision Targa image |
TIFF |
TIFF |
rw+ |
Tagged Image File Format (LIBTIFF, Version 3.8.2) |
TIM |
TIM |
r-- |
PSX TIM |
TXT |
TXT |
rw+ |
Texte |
UYVY |
UYVY |
rw- |
16bit/pixel interleaved YUV |
VDA |
TGA |
rw+ |
Truevision Targa image |
VICAR |
VICAR |
rw- |
VICAR rasterfile format |
VID |
VID |
rw+ |
Visual Image Directory |
VIFF |
VIFF |
rw+ |
Khoros Visualisation image |
VST |
TGA |
rw+ |
Truevision Targa image |
WBMP |
WBMP |
rw- |
Wireless Bitmap (level 0) image |
WMF |
WMF |
r-- |
Windows Meta File |
WMFWIN32 |
WMFWIN32 |
r-- |
Windows WIN32 API rendered Meta File |
WMZ |
WMZ |
r-- |
Compressed Windows Meta File |
WPG |
WPG |
r-- |
Word Perfect Graphics |
X |
X |
rw+ |
X Image |
XBM |
XBM |
rw- |
X Windows system bitmap (black and white) |
XC |
XC |
r-- |
Constant image uniform colour |
XCF |
XCF |
r-- |
GIMP image |
XPM |
XPM |
rw- |
X Windows system pixmap (colour) |
XV |
VIFF |
rw+ |
Khoros Visualization image |
XWD |
XWD |
rw- |
X Windows system window dump (colour) |
Y |
RAW |
rw+ |
Raw yellow samples |
YCbCr |
YCbCr |
rw+ |
Raw Y, Cb, and Cr samples |
YCbCrA |
YCbCr |
rw+ |
Raw Y, Cb, Cr, and opacity samples |
YUV* |
YUV |
rw- |
CCIR 601 4:1:1 or 4:2:2 |
où :
|
indique que le format peut être lu (qu'il peut être décodé) |
|
indique que le format peut être écrit (qu'il peut être encodé) |
|
indique que le format gère les images multi-pages |
Par défaut la liste des images gérées par EMu est :
- BMP - Microsoft Windows Bitmap Image
- DCX - ZSoft IBM PC multi-page Paintbrush
- GIF - CompuServe Graphics Interchange Format
- JP2 - JPEG 2000
- JPEG - Joint Photographic Experts Group
- PCD - Photo CD
- PCX - ZSoft IBM PC Paintbrush
- PNG - Portable Network Graphics
- TGA - Truevision Targa Image
- TIFF - Tagged Image File Format
Toutefois, la liste est typiquement plus longue, et dépend des logiciels installés sur l'ordinateur.