Recursos (archivos de configuración y variables de entorno)
Archivos de configuración • Módulos • Fuentes • Variables de entorno
ImageMagick depende de varios recursos externos, incluyendo archivos de configuración, módulos cargables, fuentes y variables de entorno.
Archivos de configuración
ImageMagick depende de varios archivos de configuración externos que se detallan aquí:
- coder.xml
- Asocia un formato de imagen con el módulo coder especificado. ImageMagick tiene varios módulos coder para admitir la lectura y/o escritura de un formato de imagen (p. ej. JPEG). Algunos módulos coder admiten más de un formato de imagen asociado, y la correspondencia entre un formato asociado y su respectivo módulo coder se define en este archivo de configuración. Por ejemplo, el módulo coder PNG no solo admite el formato de imagen PNG, sino también los formatos JNG y MNG.
- colors.xml
- Asocia un nombre de color con sus intensidades de rojo, verde, azul y alfa. Varias opciones de línea de comandos requieren un parámetro de color. Suele ser conveniente referirse a un color por su nombre (p. ej. white) en lugar de por su valor hexadecimal (p. ej. #fff). Este archivo asigna un nombre de color a sus intensidades equivalentes de rojo, verde, azul y alfa (p. ej. para white, red = 255, green = 255, blue = 255 y alpha = 0).
- configure.xml
- Define los parámetros de compilación de ImageMagick y las variables de entorno de todo el sistema (p. ej. MAGICK_TEMPORARY_PATH). A medida que se compila ImageMagick, se guardan varios parámetros de compilación en este archivo de configuración. Entre ellos están la versión, la fecha de lanzamiento, las bibliotecas delegadas dependientes y la profundidad de cuanto, entre otros.
- delegates.xml
- Asocia programas delegados con ciertos formatos de imagen. ImageMagick se apoya en varios programas delegados para admitir ciertos formatos de imagen, como darktable para leer formatos raw de cámara o Ghostscript para leer imágenes PostScript. Use este archivo de configuración para asignar un formato de entrada o salida a un programa delegado externo.
- english.xml
- Asocia etiquetas de mensaje con traducciones al inglés.
- francais.xml
- Asocia etiquetas de mensaje con traducciones al francés.
- locale.xml
- Asocia etiquetas de mensaje con una traducción para su configuración regional. ImageMagick tiene varios mensajes informativos, de advertencia y de error que se representan como etiquetas. Las etiquetas son descripciones cortas de un mensaje, como FileNotFound o MemoryAllocationFailed. Este archivo de configuración enumera las configuraciones regionales que tienen una traducción para cada etiqueta reconocida por ImageMagick. Actualmente solo hay traducciones al inglés y al francés disponibles en los archivos de configuración english.xml y francais.xml.
- log.xml
- Configura los parámetros de registro (logging). ImageMagick es capaz de emitir grandes cantidades de sentencias informativas o de depuración. Use este archivo para configurar cómo aparecerá la información en un mensaje de registro y dónde desea que se publiquen los mensajes de registro.
- mime.xml
- Asocia un tipo de medio de internet con un identificador único. Muchos archivos y flujos de datos tienen identificadores que identifican de forma única un tipo de medio de internet concreto. Por ejemplo, los archivos en formato "Corel Draw drawing" (mime type="application/vnd.corel-draw") están asociados con el patrón de nombre de archivo *.cdr, y también tienen una cadena inicial de los caracteres "CDRXvrsn". ImageMagick usa combinaciones de esta información, cuando está disponible, para intentar determinar rápidamente el tipo de medio de internet de un archivo o flujo de datos.
- policy.xml
-
Configura las políticas de seguridad de ImageMagick. De forma predeterminada se permite cualquier coder, delegado, filtro o ruta de archivo. Use una política para denegar el acceso, por ejemplo, al delegado de vídeo MPEG, o permitir la lectura de imágenes de un sistema de archivos pero denegar la escritura en ese mismo sistema de archivos. O use la política de recursos para establecer límites de recursos. Las políticas son útiles para servidores multiusuario que quieren limitar el impacto general que ImageMagick tiene en el sistema. Por ejemplo, para limitar el tamaño máximo de imagen en memoria a 100MP:
Cualquier imagen mayor que este límite de área se almacena en caché en disco en lugar de en memoria. Use width para limitar el ancho máximo de una imagen en píxeles. Si se supera este límite, se lanza una excepción y el procesamiento se detiene.
<policy domain="resource" name="width" value="8KP"/>
Para limitar a 5 minutos el tiempo transcurrido de cualquier comando de ImageMagick, use esta política:
<policy domain="resource" name="time" value="300"/>
Por comodidad, defina los argumentos de los recursos memory, map y disk con prefijos SI (p. ej. 100MB). Además, las políticas de recursos son máximos para cada instancia de ImageMagick (p. ej. con un límite de memoria de política de 1GB, la opción -limit 2GB supera el máximo de la política, por lo que el límite de memoria es 1GB).
- quantization-table.xml
- Tablas de cuantización JPEG personalizadas. Se activa con -define:q-table=quantization-table.xml.
- thresholds.xml
- Establece mapas de umbral para el tramado posterizado ordenado.
- type.xml
- Configura las fuentes. Define el nombre, la familia, la fundición, el estilo, el formato, las métricas y los glifos de cualquier fuente que desee usar dentro de ImageMagick.
- type-ghostscript.xml
- Configura las fuentes de Ghostscript. El paquete Ghostscript incluye varias fuentes a las que se puede acceder con ImageMagick.
- type-windows.xml
- Asocia nombres con glifos de fuentes de Windows.
En Linux, ImageMagick busca cada uno de los archivos de configuración enumerados arriba en las ubicaciones que se indican a continuación, en orden, y los carga si los encuentra:
$MAGICK_CONFIGURE_PATH
$PREFIX/etc/ImageMagick-7
$PREFIX/share/ImageMagick-7
$XDG_CACHE_HOME/ImageMagick
$HOME/.config/ImageMagick
<client path>/etc/ImageMagick
La variable de entorno $PREFIX es la ruta de instalación predeterminada (p. ej. /usr/local). El client path es la ruta de ejecución de su cliente de ImageMagick (p. ej. /usr/local).
Para las distribuciones binarias precompiladas sin instalar de Linux, el orden de carga de la configuración es:
$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>
En Windows, ImageMagick busca estos archivos de configuración en el siguiente orden, y los carga si los encuentra:
$MAGICK_CONFIGURE_PATH
<windows registry>
$PREFIX/config
$USERPROFILE/.config/ImageMagick
<client path>
Arriba, $PREFIX es la ruta de instalación predeterminada, normalmente c:\Program Files\ImageMagick-7.1.2.
Para una instalación de Windows sin instalar, el orden de carga de la configuración es:
$MAGICK_CONFIGURE_PATH
$MAGICK_HOME
$USERPROFILE/.config/ImageMagick
client path
<current directory>
Si no se puede encontrar un archivo de configuración, ImageMagick se apoya en los valores predeterminados integrados.
Módulos
Coders
Un coder de imagen (es decir, codificador/decodificador) se encarga de registrar, opcionalmente clasificar, opcionalmente leer, opcionalmente escribir y anular el registro de un formato de imagen (p. ej. PNG, GIF, JPEG, etc.). ImageMagick busca los coders en el siguiente orden y usa la primera coincidencia encontrada:
$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
Filtros
ImageMagick ofrece un mecanismo cómodo para añadir sus propios algoritmos de procesamiento de imágenes personalizados. ImageMagick busca los filtros en el siguiente orden y usa la primera coincidencia encontrada:
$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
Fuentes
ImageMagick puede cargar archivos de fuentes TrueType y PostScript en bruto. Busca el archivo de configuración de fuentes, type.xml, en el siguiente orden, y los carga si los encuentra:
$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 de entorno
Entre las variables de entorno reconocidas por ImageMagick están:
| HOME | Establece la ruta para buscar archivos de configuración en $HOME/.config/ImageMagick si el directorio existe. |
|---|---|
| LD_LIBRARY_PATH | Establece la ruta a las bibliotecas compartibles de ImageMagick y otras bibliotecas dependientes. |
| MAGICK_AREA_LIMIT | Establece el máximo width * height de una imagen que puede residir en la memoria de la caché de píxeles. Las imágenes que superan el límite de área se almacenan en caché en disco (véase MAGICK_DISK_LIMIT) y, opcionalmente, se mapean en memoria. |
| MAGICK_FILTER_MODULE_PATH | Establece la ruta de búsqueda que se usa al buscar módulos de proceso de filtro (invocados mediante -process). Esta ruta permite al usuario ampliar la funcionalidad de procesamiento de imágenes de ImageMagick añadiendo módulos cargables en una ubicación preferida en lugar de copiarlos en el directorio de instalación de ImageMagick. El formato de la ruta de búsqueda es similar al de las rutas de búsqueda del sistema operativo (es decir, delimitada por dos puntos en Linux y por punto y coma en Microsoft Windows). Esta ruta de búsqueda especificada por el usuario se examina antes de probar la ruta de búsqueda predeterminada. |
| MAGICK_CODER_MODULE_PATH | Establece la ruta donde ImageMagick puede localizar sus módulos coder. Esta ruta permite al usuario ampliar arbitrariamente los formatos de imagen admitidos por ImageMagick añadiendo módulos coder cargables desde una ubicación preferida en lugar de copiarlos en el directorio de instalación de ImageMagick. El formato de la ruta de búsqueda es similar al de las rutas de búsqueda del sistema operativo (es decir, delimitada por dos puntos en Linux y por punto y coma en Microsoft Windows). Esta ruta de búsqueda especificada por el usuario se examina antes de probar la ruta de búsqueda predeterminada. |
| MAGICK_CONFIGURE_PATH | Establece la ruta donde ImageMagick puede localizar sus archivos de configuración. Use esta ruta de búsqueda para buscar archivos de configuración (.xml). El formato de la ruta de búsqueda es similar al de las rutas de búsqueda del sistema operativo (es decir, delimitada por dos puntos en Linux y por punto y coma en Microsoft Windows). Esta ruta de búsqueda especificada por el usuario se examina antes de probar la ruta de búsqueda predeterminada. |
| MAGICK_DATE_PRECISION | Establece el número máximo de caracteres impresos para cualquier marca de tiempo. |
| MAGICK_DEBUG | Establece las opciones de depuración. Véase -debug para una descripción de las opciones de depuración. |
| MAGICK_DISK_LIMIT | Establece la cantidad máxima de espacio en disco en bytes permitida para uso de la caché de píxeles. Cuando se supera este límite, la caché de píxeles no se crea y se devuelve un mensaje de error. |
| MAGICK_ERRORMODE | Establece el modo de error del proceso (solo en Windows). Un uso típico podría ser un valor de 1 para evitar que los diálogos del modo de error muestren un cuadro de mensaje y cuelguen la aplicación. |
| MAGICK_FILE_LIMIT | Establece el número máximo de archivos de caché de píxeles abiertos. Cuando se supera este límite, cualquier píxel almacenado posteriormente en caché en disco se cierra y se reabre bajo demanda. Este comportamiento permite acceder simultáneamente a un gran número de imágenes en disco, pero con una penalización de velocidad debido a las repetidas llamadas de apertura/cierre. |
| MAGICK_FONT_PATH | Establece la ruta donde ImageMagick busca archivos de fuentes TrueType y PostScript Type1. Esta ruta solo se consulta si un archivo de fuente concreto no se encuentra en el directorio actual. |
| MAGICK_HEIGHT_LIMIT | Establece la altura máxima de una imagen. |
| MAGICK_HOME | Establece la ruta en la cima del directorio de instalación de ImageMagick. Esta ruta la consultan las compilaciones sin instalar de ImageMagick que no tienen su ubicación codificada de forma fija ni establecida por un instalador. |
| MAGICK_LIST_LENGTH_LIMIT | Establece la longitud máxima de una secuencia de imágenes. |
| MAGICK_MAP_LIMIT | Establece la cantidad máxima de mapa de memoria en bytes que se asignará a la caché de píxeles. Cuando se supera este límite, los píxeles de la imagen se almacenan en caché en disco (véase MAGICK_DISK_LIMIT). |
| MAGICK_MEMORY_LIMIT | Establece la cantidad máxima de memoria en bytes que se asignará a la caché de píxeles desde el montón (heap). Cuando se supera este límite, los píxeles de la imagen se almacenan en caché en disco mapeado en memoria (véase MAGICK_MAP_LIMIT). |
| MAGICK_OCL_DEVICE | Establézcalo en off para deshabilitar la aceleración por hardware de ciertos algoritmos acelerados (p. ej. blur, convolve, etc.). |
| MAGICK_PRECISION | Establece el número máximo de dígitos significativos que se imprimirán. |
| MAGICK_SHRED_PASSES | Si desea mantener privados los archivos temporales que crea ImageMagick, sobrescríbalos con ceros o datos aleatorios antes de que se eliminen. En la primera pasada, el archivo se pone a cero. En las pasadas posteriores se escriben datos aleatorios. |
| MAGICK_SYNCHRONIZE | Establézcalo en "true" para garantizar que todos los datos de imagen se vacíen y sincronicen por completo en disco. Hay una penalización de rendimiento, sin embargo, los beneficios incluyen garantizar un archivo de imagen válido en caso de caída del sistema y avisar tempranamente si no hay suficiente espacio en disco para la caché de píxeles de la imagen. |
| MAGICK_TEMPORARY_PATH | Establece la ruta donde almacenar los archivos temporales. |
| MAGICK_THREAD_LIMIT | Establece el máximo de hilos paralelos. Muchos algoritmos de ImageMagick se ejecutan en paralelo en sistemas multiprocesador. Use esta variable de entorno para establecer el número máximo de hilos que se permite ejecutar en paralelo. |
| MAGICK_THROTTLE_LIMIT | Cede periódicamente la CPU durante al menos el tiempo especificado en milisegundos. |
| MAGICK_TIME_LIMIT | Establece el tiempo máximo en segundos. Cuando se supera este límite, se lanza una excepción y el procesamiento se detiene. |
| MAGICK_WIDTH_LIMIT | Establece el ancho máximo de una imagen. |
| SOURCE_DATE_EPOCH | Una marca de tiempo UNIX, definida como el número de segundos, excluyendo los segundos intercalares, desde el 01 ene 1970 00:00:00 UTC. Ajuste de propósito especial para compilaciones de canalización (pipeline). Este ajuste deshabilita los ajustes de tiempo de vida (time-to-live). |
Defina los argumentos de las variables de entorno MAGICK_MEMORY_LIMIT, MAGICK_DISK_LIMIT y MAGICK_MEMORY_LIMIT con prefijos SI (p. ej. 100MB). MAGICK_WIDTH_LIMIT, MAGICK_HEIGHT_LIMIT y MAGICK_AREA_LIMIT aceptan sufijos de píxeles como MP para megapíxeles (p. ej. 100MP). Tenga en cuenta que puede restringir los límites con respecto a cualquier política de seguridad, pero no puede relajarlos.