⚠️ Ceci est un site de traduction non officiel, sans lien avec ImageMagick Studio LLC. Pour des informations officielles, consultez la page originale (https://imagemagick.org/resources/).

Ressources (fichiers de configuration et variables d'environnement)

Fichiers de configuration • Modules • Polices • Variables d'environnement

ImageMagick dépend d'un certain nombre de ressources externes, notamment des fichiers de configuration, des modules chargeables, des polices et des variables d'environnement.

Fichiers de configuration

ImageMagick dépend d'un certain nombre de fichiers de configuration externes détaillés ici :

coder.xml
Associe un format d'image au module codeur (coder) spécifié. ImageMagick possède un certain nombre de modules codeurs prenant en charge la lecture et/ou l'écriture d'un format d'image (par exemple JPEG). Certains modules codeurs prennent en charge plusieurs formats d'image associés, et la correspondance entre un format associé et son module codeur respectif est définie dans ce fichier de configuration. Par exemple, le module codeur PNG prend en charge non seulement le format d'image PNG, mais aussi les formats JNG et MNG.
colors.xml
Associe un nom de couleur à ses intensités de rouge, vert, bleu et alpha. Un certain nombre d'options en ligne de commande nécessitent un paramètre de couleur. Il est souvent plus pratique de désigner une couleur par son nom (par exemple white) que par sa valeur hexadécimale (par exemple #fff). Ce fichier associe un nom de couleur à ses intensités équivalentes de rouge, vert, bleu et alpha (par exemple, pour white, red = 255, green = 255, blue = 255 et alpha = 0).
configure.xml
Définit les paramètres de compilation d'ImageMagick et les variables d'environnement à l'échelle du système (par exemple MAGICK_TEMPORARY_PATH). Lors de la compilation d'ImageMagick, un certain nombre de paramètres de compilation sont enregistrés dans ce fichier de configuration. Ils incluent notamment la version, la date de sortie, les bibliothèques déléguées dépendantes et la profondeur de quantum.
delegates.xml
Associe des programmes délégués à certains formats d'image. ImageMagick s'appuie sur un certain nombre de programmes délégués pour prendre en charge certains formats d'image, comme darktable pour lire les formats bruts d'appareils photo ou Ghostscript pour lire les images PostScript. Utilisez ce fichier de configuration pour associer un format d'entrée ou de sortie à un programme délégué externe.
english.xml
Associe les balises de message à leurs traductions anglaises.
francais.xml
Associe les balises de message à leurs traductions françaises.
locale.xml
Associe les balises de message à une traduction pour votre locale. ImageMagick possède un certain nombre de messages d'information, d'avertissement et d'erreur représentés sous forme de balises. Les balises sont de courtes descriptions d'un message, telles que FileNotFound ou MemoryAllocationFailed. Ce fichier de configuration répertorie les locales disposant d'une traduction pour chaque balise reconnue par ImageMagick. Actuellement, seules les traductions anglaises et françaises sont disponibles dans les fichiers de configuration english.xml et francais.xml.
log.xml
Configure les paramètres de journalisation. ImageMagick est capable de produire d'abondantes quantités de messages d'information ou de débogage. Utilisez ce fichier pour configurer la manière dont les informations apparaissent dans un message de journal et l'endroit où vous souhaitez que les messages de journalisation soient publiés.
mime.xml
Associe un type de média Internet à un identifiant unique. De nombreux fichiers et flux de données possèdent des identifiants qui identifient de manière unique un type de média Internet particulier. Par exemple, les fichiers au format « Corel Draw drawing » (mime type="application/vnd.corel-draw") sont associés au motif de nom de fichier *.cdr, et possèdent également une chaîne initiale composée des caractères « CDRXvrsn ». ImageMagick utilise des combinaisons de ces informations, lorsqu'elles sont disponibles, pour tenter de déterminer rapidement le type de média Internet d'un fichier ou d'un flux de données.
policy.xml

Configure les politiques de sécurité d'ImageMagick. Par défaut, tout codeur, délégué, filtre ou chemin de fichier est autorisé. Utilisez une politique pour refuser l'accès, par exemple, au délégué vidéo MPEG, ou pour autoriser la lecture d'images depuis un système de fichiers tout en refusant l'écriture sur ce même système de fichiers. Vous pouvez aussi utiliser la politique de ressources pour définir des limites de ressources. Les politiques sont utiles pour les serveurs multi-utilisateurs souhaitant limiter l'impact global d'ImageMagick sur le système. Par exemple, pour limiter la taille d'image maximale en mémoire à 100MP :

Toute image dépassant cette limite de surface (area) est mise en cache sur disque plutôt qu'en mémoire. Utilisez width pour limiter la largeur maximale d'une image en pixels. Si cette limite est dépassée, une exception est levée et le traitement s'arrête.

<policy domain="resource" name="width" value="8KP"/>

Pour limiter à 5 minutes le temps écoulé de toute commande ImageMagick, utilisez cette politique :

<policy domain="resource" name="time" value="300"/>

Par commodité, définissez les arguments des ressources memory, map et disk avec des préfixes SI (par exemple 100MB). De plus, les politiques de ressources constituent des maximums pour chaque instance d'ImageMagick (par exemple, avec une limite de mémoire de politique de 1GB, l'option -limit 2GB dépasse le maximum de la politique, donc la limite de mémoire reste 1GB).

quantization-table.xml
Tables de quantification JPEG personnalisées. À activer avec -define:q-table=quantization-table.xml.
thresholds.xml
Définit les cartes de seuils pour le tramage postérisé ordonné.
type.xml
Configure les polices. Définissez le nom, la famille, la fonderie, le style, le format, les métriques et les glyphes de toute police que vous souhaitez utiliser dans ImageMagick.
type-ghostscript.xml
Configure les polices Ghostscript. Le paquet Ghostscript comprend un certain nombre de polices accessibles depuis ImageMagick.
type-windows.xml
Associe des noms aux glyphes de polices Windows.

Sous Linux, ImageMagick recherche chacun des fichiers de configuration listés ci-dessus en parcourant dans l'ordre les emplacements indiqués ci-dessous, et les charge s'ils sont trouvés :

$MAGICK_CONFIGURE_PATH
$PREFIX/etc/ImageMagick-7
$PREFIX/share/ImageMagick-7
$XDG_CACHE_HOME/ImageMagick
$HOME/.config/ImageMagick
<client path>/etc/ImageMagick

La variable d'environnement $PREFIX est le chemin d'installation par défaut (par exemple /usr/local). Le client path est le chemin d'exécution de votre client ImageMagick (par exemple /usr/local).

Pour les distributions binaires Linux pré-compilées et non installées, l'ordre de chargement de la configuration est le suivant :

$MAGICK_CONFIGURE_PATH
$MAGICK_HOME/etc/ImageMagick-7
$MAGICK_HOME/share/ImageMagick-7
$PREFIX/share/ImageMagick-7
$XDG_CACHE_HOME/ImageMagick
$HOME/.config/ImageMagick/
<client path>/etc/ImageMagick
<current directory>

Sous Windows, ImageMagick recherche ces fichiers de configuration dans l'ordre suivant, et les charge s'ils sont trouvés :

$MAGICK_CONFIGURE_PATH
<windows registry>
$PREFIX/config
$USERPROFILE/.config/ImageMagick
<client path>

Ci-dessus, $PREFIX est le chemin d'installation par défaut, généralement c:\Program Files\ImageMagick-7.1.2.

Pour une installation Windows non installée, l'ordre de chargement de la configuration est le suivant :

$MAGICK_CONFIGURE_PATH
$MAGICK_HOME
$USERPROFILE/.config/ImageMagick
client path
<current directory>

Si un fichier de configuration est introuvable, ImageMagick s'appuie sur les valeurs par défaut intégrées.

Modules

Codeurs

Un codeur d'image (c'est-à-dire un encodeur / décodeur) est chargé d'enregistrer, éventuellement de classer, éventuellement de lire, éventuellement d'écrire et de désenregistrer un format d'image (par exemple PNG, GIF, JPEG, etc.). ImageMagick recherche les codeurs dans l'ordre suivant et utilise la première correspondance trouvée :

$MAGICK_HOME/lib/ImageMagick-7.1.2/modules-Q16/coders
<client path>/../lib/ImageMagick-7.1.2/modules-Q16/coders
$MAGICK_HOME/lib/ImageMagick-7.1.2/modules-Q16/coders
$MAGICK_HOME/share/ImageMagick-7.1.2/modules-Q16/coders
$XDG_CACHE_HOME/ImageMagick
$HOME/.config/ImageMagick
<client path>/lib/ImageMagick-7.1.2/modules-Q16/coders

Filtres

ImageMagick fournit un mécanisme pratique permettant d'ajouter vos propres algorithmes de traitement d'image personnalisés. ImageMagick recherche les filtres dans l'ordre suivant et utilise la première correspondance trouvée :

$MAGICK_HOME/lib/ImageMagick-7.1.2/modules-Q16/filters
<client path>/../lib/ImageMagick-7.1.2/modules-Q16/filters
$MAGICK_HOME/lib/ImageMagick-7.1.2/modules-Q16/filters
$MAGICK_HOME/share/ImageMagick-7.1.2/modules-Q16/filters
$XDG_CACHE_HOME/ImageMagick
$HOME/.config/ImageMagick
<client path>/lib/ImageMagick-7.1.2/modules-Q16/filters

Polices

ImageMagick est capable de charger des fichiers de polices TrueType et PostScript bruts. Il recherche le fichier de configuration des polices, type.xml, dans l'ordre suivant, et les charge s'ils sont trouvés :

$MAGICK_CONFIGURE_PATH
$MAGICK_HOME/etc/ImageMagick/-7.1.2
$MAGICK_HOME/share/ImageMagick-7.1.2
$XDG_CACHE_HOME/ImageMagick
$HOME/.config/ImageMagick
<client path>/etc/ImageMagick
$MAGICK_FONT_PATH

Variables d'environnement

Les variables d'environnement reconnues par ImageMagick incluent :

HOME Définit le chemin de recherche des fichiers de configuration dans $HOME/.config/ImageMagick si le répertoire existe.
LD_LIBRARY_PATH Définit le chemin vers les bibliothèques partageables d'ImageMagick et les autres bibliothèques dépendantes.
MAGICK_AREA_LIMIT Définit la valeur maximale de width * height d'une image pouvant résider dans la mémoire du cache de pixels. Les images qui dépassent la limite de surface sont mises en cache sur disque (voir MAGICK_DISK_LIMIT) et éventuellement mappées en mémoire.
MAGICK_FILTER_MODULE_PATH Définit le chemin de recherche à utiliser lors de la recherche des modules de processus de filtre (invoqués via -process). Ce chemin permet à l'utilisateur d'étendre les fonctionnalités de traitement d'image d'ImageMagick en ajoutant des modules chargeables à un emplacement de son choix plutôt qu'en les copiant dans le répertoire d'installation d'ImageMagick. Le format du chemin de recherche est similaire à celui des chemins de recherche du système d'exploitation (c'est-à-dire délimité par des deux-points sous Linux et par des points-virgules sous Microsoft Windows). Ce chemin de recherche spécifié par l'utilisateur est exploré avant d'essayer le chemin de recherche par défaut.
MAGICK_CODER_MODULE_PATH Définit le chemin où ImageMagick peut localiser ses modules codeurs. Ce chemin permet à l'utilisateur d'étendre arbitrairement les formats d'image pris en charge par ImageMagick en ajoutant des modules codeurs chargeables depuis un emplacement de son choix plutôt qu'en les copiant dans le répertoire d'installation d'ImageMagick. Le format du chemin de recherche est similaire à celui des chemins de recherche du système d'exploitation (c'est-à-dire délimité par des deux-points sous Linux et par des points-virgules sous Microsoft Windows). Ce chemin de recherche spécifié par l'utilisateur est exploré avant d'essayer le chemin de recherche par défaut.
MAGICK_CONFIGURE_PATH Définit le chemin où ImageMagick peut localiser ses fichiers de configuration. Utilisez ce chemin de recherche pour rechercher les fichiers de configuration (.xml). Le format du chemin de recherche est similaire à celui des chemins de recherche du système d'exploitation (c'est-à-dire délimité par des deux-points sous Linux et par des points-virgules sous Microsoft Windows). Ce chemin de recherche spécifié par l'utilisateur est exploré avant d'essayer le chemin de recherche par défaut.
MAGICK_DATE_PRECISION Définit le nombre maximal de caractères affichés pour tout horodatage.
MAGICK_DEBUG Définit les options de débogage. Voir -debug pour une description des options de débogage.
MAGICK_DISK_LIMIT Définit la quantité maximale d'espace disque en octets autorisée pour l'utilisation par le cache de pixels. Lorsque cette limite est dépassée, le cache de pixels n'est pas créé et un message d'erreur est renvoyé.
MAGICK_ERRORMODE Définit le mode d'erreur du processus (Windows uniquement). Une utilisation typique pourrait être une valeur de 1 pour empêcher les boîtes de dialogue du mode d'erreur d'afficher une boîte de message et de bloquer l'application.
MAGICK_FILE_LIMIT Définit le nombre maximal de fichiers de cache de pixels ouverts. Lorsque cette limite est dépassée, tous les pixels ultérieurs mis en cache sur disque sont fermés et rouverts à la demande. Ce comportement permet d'accéder simultanément à un grand nombre d'images sur disque, mais avec une pénalité de vitesse due aux appels répétés d'ouverture/fermeture.
MAGICK_FONT_PATH Définit le chemin où ImageMagick recherche les fichiers de polices TrueType et PostScript Type1. Ce chemin n'est consulté que si un fichier de police particulier n'est pas trouvé dans le répertoire courant.
MAGICK_HEIGHT_LIMIT Définit la hauteur maximale d'une image.
MAGICK_HOME Définit le chemin situé au sommet du répertoire d'installation d'ImageMagick. Ce chemin est consulté par les versions non installées d'ImageMagick qui n'ont pas leur emplacement codé en dur ou défini par un installateur.
MAGICK_LIST_LENGTH_LIMIT Définit la longueur maximale d'une séquence d'images.
MAGICK_MAP_LIMIT Définit la quantité maximale de mémoire mappée en octets à allouer pour le cache de pixels. Lorsque cette limite est dépassée, les pixels de l'image sont mis en cache sur disque (voir MAGICK_DISK_LIMIT).
MAGICK_MEMORY_LIMIT Définit la quantité maximale de mémoire en octets à allouer pour le cache de pixels depuis le tas. Lorsque cette limite est dépassée, les pixels de l'image sont mis en cache sur disque mappé en mémoire (voir MAGICK_MAP_LIMIT).
MAGICK_OCL_DEVICE À régler sur off pour désactiver l'accélération matérielle de certains algorithmes accélérés (par exemple blur, convolve, etc.).
MAGICK_PRECISION Définit le nombre maximal de chiffres significatifs à afficher.
MAGICK_SHRED_PASSES Si vous souhaitez garder confidentiels les fichiers temporaires créés par ImageMagick, écrasez-les avec des zéros ou des données aléatoires avant leur suppression. Au premier passage, le fichier est mis à zéro. Lors des passages suivants, des données aléatoires sont écrites.
MAGICK_SYNCHRONIZE À régler sur « true » pour garantir que toutes les données d'image sont entièrement vidées et synchronisées sur le disque. Il y a une pénalité de performance, mais les avantages incluent la garantie d'un fichier image valide en cas de panne système et un signalement précoce s'il n'y a pas assez d'espace disque pour le cache de pixels de l'image.
MAGICK_TEMPORARY_PATH Définit le chemin de stockage des fichiers temporaires.
MAGICK_THREAD_LIMIT Définit le nombre maximal de threads parallèles. De nombreux algorithmes d'ImageMagick s'exécutent en parallèle sur les systèmes multiprocesseurs. Utilisez cette variable d'environnement pour définir le nombre maximal de threads autorisés à s'exécuter en parallèle.
MAGICK_THROTTLE_LIMIT Cède périodiquement le CPU pendant au moins le temps spécifié en millisecondes.
MAGICK_TIME_LIMIT Définit le temps maximal en secondes. Lorsque cette limite est dépassée, une exception est levée et le traitement s'arrête.
MAGICK_WIDTH_LIMIT Définit la largeur maximale d'une image.
SOURCE_DATE_EPOCH Un horodatage UNIX, défini comme le nombre de secondes, à l'exclusion des secondes intercalaires, depuis le 01 janv. 1970 00:00:00 UTC. Réglage à usage spécial pour les compilations en pipeline. Ce réglage désactive les réglages de durée de vie (time-to-live).

Définissez les arguments des variables d'environnement MAGICK_MEMORY_LIMIT, MAGICK_DISK_LIMIT et MAGICK_MEMORY_LIMIT avec des préfixes SI (par exemple 100MB). MAGICK_WIDTH_LIMIT, MAGICK_HEIGHT_LIMIT et MAGICK_AREA_LIMIT acceptent des suffixes de pixels tels que MP pour les méga-pixels (par exemple 100MP). Notez que vous pouvez restreindre les limites par rapport à toute politique de sécurité, mais vous ne pouvez pas les assouplir.