ImageMagick es un paquete de software multiplataforma gratuito y de código abierto [3] para mostrar, crear, convertir, modificar y editar imágenes rasterizadas . Creado en 1987 por John Cristy, puede leer y escribir más de 200 formatos de archivo de imagen . Este y sus componentes se utilizan ampliamente en aplicaciones de código abierto.
Autor (es) original (es) | Juan Cristy |
---|---|
Desarrollador (es) | ImageMagick Studio LLC |
Versión inicial | 1 de agosto de 1990 [1] |
Lanzamiento estable | 7.0.11-13 / 16 de mayo de 2021 [2] |
Repositorio | |
Escrito en | C |
Sistema operativo | Multiplataforma |
Tipo | Manipulación de imagen |
Licencia | Licencia de ImageMagick [3] |
Sitio web | imagemagick |
Autor | ImageMagick Studio LLC |
---|---|
Compatible con Debian FSG | sí |
Compatible con GPL | sí |
Vinculación desde código con una licencia diferente | sí |
Sitio web | imagemagick |
Historia
ImageMagick fue creado en 1987 por John Cristy cuando trabajaba en DuPont , para convertir imágenes de 24 bits (16 millones de colores) en imágenes de 8 bits (256 colores), de modo que pudieran mostrarse en la mayoría de las pantallas en ese momento. Fue lanzado libremente en 1990 cuando DuPont acordó transferir los derechos de autor a ImageMagick Studio LLC , que sigue siendo actualmente la organización responsable del proyecto. [4] [5] [6]
En mayo de 2016, se informó que ImageMagick tenía una vulnerabilidad a través de la cual un atacante puede ejecutar código arbitrario en servidores que usan la aplicación para editar imágenes cargadas por el usuario. [7] Los expertos en seguridad, incluidos los investigadores de CloudFlare, observaron el uso real de la vulnerabilidad en intentos activos de piratería. [8] La falla de seguridad se debió a que ImageMagick llamó a las herramientas de backend sin verificar primero adecuadamente para asegurarse de que la ruta y los nombres de archivo estén libres de comandos de shell incorrectos. [9] La vulnerabilidad no afectó las distribuciones de ImageMagick que incluían una política de seguridad configurada correctamente . [ cita requerida ]
Funciones y capacidades
El software consta principalmente de una serie de utilidades de interfaz de línea de comandos para manipular imágenes. ImageMagick no tiene una interfaz gráfica de usuario robusta para editar imágenes como Adobe Photoshop y GIMP , pero incluye, para sistemas operativos similares a Unix , una GUI nativa básica de X Window (llamada IMDisplay) para renderizar y manipular imágenes y bibliotecas API para muchos lenguajes de programación.
Ejecute lo siguiente en Linux o UNIX para iniciar la GUI: [10]
$ display
De lo contrario, las imágenes pueden editarse directamente mediante varios parámetros de la línea de comandos sin necesidad de iniciar una GUI. El programa usa números mágicos para identificar formatos de archivo de imagen .
Para obtener una lista completa de los formatos compatibles, ejecute, en Linux o UNIX:
$ identify -list format
Varios programas, como Drupal , MediaWiki , phpBB y vBulletin , pueden usar ImageMagick para crear miniaturas de imágenes si están instalados. ImageMagick también es utilizado por otros programas, como LyX , para convertir imágenes.
ImageMagick tiene un enlace Perl totalmente integrado llamado PerlMagick, [11] así como muchos otros: G2F (Ada), MagickCore (C), MagickWand (C), ChMagick (Ch), ImageMagickObject (COM +), Magick ++ (C ++), JMagick (Java), L-Magick (Lisp), NMagick (Neko / Haxe), MagickNet (.NET), PascalMagick (Pascal), MagickWand para PHP (PHP), IMagick (PHP), PythonMagick (Python), RMagick (Ruby) o TclMagick (Tcl / TK).
Conversión de formato de archivo
Una de las características básicas y completamente implementadas de ImageMagick es su capacidad para convertir imágenes de manera eficiente y precisa entre diferentes formatos de archivo (utiliza el comando convert
para lograr esto).
Cuantización de color
El número de colores en una imagen se puede reducir a un número arbitrario y esto se hace sopesando los valores de color más prominentes presentes entre los píxeles de la imagen.
Una capacidad relacionada es el efecto artístico de posterización , que también reduce el número de colores representados en una imagen. La diferencia entre esta y la cuantificación de color estándar es que mientras que en la cuantificación estándar la paleta final se selecciona en función de una ponderación de la prominencia de los colores existentes en la imagen, la posterización crea una paleta de colores distribuidos suavemente en todo el espectro representado en la imagen. Mientras que con la cuantificación de color estándar todos los valores de color finales son los que estaban en la imagen original, los valores de color en una imagen posterizada pueden no haber estado presentes en la imagen original, pero se encuentran entre los valores de color originales.
Dithering
Se proporciona un control preciso para el tramado que se produce durante las alteraciones de color y sombreado, incluida la capacidad de generar tramado de semitonos .
Cambio de escala de líquidos
En 2008, se agregó el soporte para el reajuste de líquidos . [2] Esta función permite, por ejemplo, cambiar la escala de imágenes 4: 3 a imágenes 16: 9 sin distorsionar la imagen.
Efectos artísticos
ImageMagick incluye una variedad de filtros y funciones destinadas a crear efectos artísticos:
- Transformación de boceto de carbón
- Posterización
OpenCL
ImageMagick puede usar OpenCL para usar una tarjeta gráfica acelerada ( GPU ) para el procesamiento. [12]
Color profundo
La versión Q8 admite un componente de hasta 8 bits por píxel ( escala de grises de 8 bits , color RGB de 24 o 32 bits ). La versión Q16 admite componentes de hasta 16 bits por píxel (escala de grises de 16 bits, color RGB de hasta 48 o 64 bits).
Otro
A continuación se muestran algunas otras características de ImageMagick:
- Conversión de formato : convierte una imagen de un formato a otro (por ejemplo, PNG a JPEG ).
- Transformar: cambiar el tamaño, rotar, recortar, voltear o recortar una imagen. (Aplica estos sin pérdida de generación en archivos JPEG, cuando sea posible).
- Transparencia: hace que partes de una imagen sean invisibles.
- Dibujar: agrega formas o texto a una imagen.
- Decorar: agrega un borde o marco a una imagen.
- Efectos especiales: desenfoque, nitidez, umbral o tinte de una imagen.
- Animación: ensambla un archivo de animación GIF a partir de una secuencia de imágenes.
- Texto y comentarios: inserta texto descriptivo o artístico en una imagen.
- Identificación de la imagen: describe el formato y los atributos de una imagen.
- Compuesto: superponga una imagen sobre otra.
- Montaje: yuxtaponga miniaturas de imágenes en un lienzo de imágenes.
- Distorsión de píxeles generalizada: corrija o induzca distorsiones de imagen, incluida la perspectiva.
- Morfología de formas: extraer características, describir formas y reconocer patrones en imágenes.
- Soporte de imágenes en movimiento: lea y escriba los formatos de imagen comunes que se utilizan en el trabajo de películas digitales.
- Calculadora de imágenes: aplica una expresión matemática a una imagen o canales de imagen.
- Transformada discreta de Fourier : implementa DFT directa e inversa.
- Gestión del color: gestión precisa del color con perfiles de color o en lugar de: compresión o expansión gamma incorporada según lo requiera el espacio de color.
- Imágenes de alto rango dinámico: representan con precisión la amplia gama de niveles de intensidad que se encuentran en escenas reales que van desde la luz solar directa más brillante hasta las sombras más oscuras y profundas.
- Cifre o descifre una imagen: convierta imágenes ordinarias en un galimatías ininteligible y viceversa.
- Compatibilidad con píxeles virtuales: acceso conveniente a píxeles fuera de la región de la imagen.
- Compatibilidad con imágenes grandes: lea, procese o escriba tamaños de imagen de mega, giga o terapíxeles.
- Soporte para subprocesos de ejecución: ImageMagick es seguro para subprocesos y la mayoría de los algoritmos internos se ejecutan en paralelo para aprovechar las aceleraciones que ofrecen los chips de procesador de múltiples núcleos .
- Procesamiento distribuido heterogéneo: ciertos algoritmos están habilitados para OpenCL para aprovechar las aceleraciones que ofrece la ejecución en conjunto en plataformas heterogéneas que consisten en CPU, GPU y otros procesadores.
- Caché de píxeles distribuido: descargue el almacenamiento de píxeles intermedio a uno o más servidores remotos.
- ImageMagick en el iPhone : convierta, edite o componga imágenes en su dispositivo informático iOS, como el iPhone o iPad .
Distribución
ImageMagick es multiplataforma y se ejecuta en Microsoft Windows y sistemas similares a Unix, incluidos Linux , macOS , iOS , Android , Solaris , Haiku y FreeBSD . El código fuente del proyecto se puede compilar para otros sistemas, incluidos AmigaOS 4.0 y MorphOS . Se ha ejecutado bajo IRIX . [13]
Software relacionado
GraphicsMagick es una bifurcación de ImageMagick 5.5.2 hecha en 2002, enfatizando la estabilidad de liberación cruzada de la API de programación y las opciones de línea de comandos. GraphicsMagick surgió como resultado de diferencias irreconciliables en el grupo de desarrolladores. [14]
Ver también
- Demonio
- Biblioteca de gráficos GD
- Netpbm
Referencias
- ^ "Historia" . ImageMagick . Archivado desde el original el 14 de marzo de 2018 . Consultado el 18 de marzo de 2018 .
...Dr. Pensak tuvo que convencer a la alta dirección de DuPont ... De cualquier manera, ImageMagick no estaría disponible hoy sin que DuPont transfiriera los derechos de autor a ImageMagick Studio LLC. ImageMagick se publicó en el grupo de archivos comp. De Usenet el 1 de agosto de 1990.
- ^ a b "Registro de cambios de ImageMagick" . Archivado desde el original el 6 de junio de 2016 . Consultado el 9 de marzo de 2021 .
- ^ a b c "ImageMagick: Licencia" . ImageMagick . Archivado desde el original el 26 de octubre de 2016 . Consultado el 26 de octubre de 2016 .
- ^ "ImageMagick: Historia" . www.imagemagick.org . ImageMagick Studio. Archivado desde el original el 29 de octubre de 2016 . Consultado el 18 de octubre de 2016 .
- ^ Hajdarbegovic, Nermin (12 de febrero de 2019). "ImageMagick: ¿Manipulación de gráficos desde la línea de comandos?" . whoishostingthis.com . Consultado el 18 de agosto de 2020 .
- ^ "ImageMagick" . computerhope.com . 27 de febrero de 2019 . Consultado el 18 de agosto de 2020 .
- ^ "Exploits enloquecidos: los piratas informáticos apuntan a errores críticos de procesamiento de imágenes" . Ars Technica. 2016. Archivado desde el original el 25 de septiembre de 2016 . Consultado el 26 de septiembre de 2016 .
- ^ "Inside ImageTragick: las cargas reales que se utilizan para piratear sitios web" . CloudFlare. 2016. Archivado desde el original el 1 de octubre de 2016 . Consultado el 26 de septiembre de 2016 .
- ^ Williams, Chris (4 de mayo de 2016). "Los exploits de secuestro de servidores para ImageMagick son tan triviales que gritarás" . El registro . Archivado desde el original el 23 de diciembre de 2017 . Consultado el 22 de diciembre de 2017 .
- ^ Подскачащия Хипопотам (1 de octubre de 2006). "GUI nativo de ImageMagick" . linux4hippos . blogspot.com. Archivado desde el original el 4 de marzo de 2016 . Consultado el 3 de junio de 2013 .
- ^ LLC, ImageMagick Studio. "PerlMagick, Perl API @ ImageMagick" . imagemagick.org . Archivado desde el original el 10 de mayo de 2017 . Consultado el 22 de mayo de 2017 .
- ^ "ImageMagick: Arquitectura" . Archivado desde el original el 1 de junio de 2016 . Consultado el 6 de enero de 2010 .
- ^ "API Magick ++: Instale Magick ++" . imagemagick.org . Archivado desde el original el 8 de mayo de 2017 . Consultado el 22 de mayo de 2017 .
- ^ "Presentación del proyecto GraphicsMagick" . Lista de distribución de desarrolladores de ImageMagick. 15 de marzo de 2003.
Otras lecturas
- Montabone, Sebastián (2010). Principio del procesamiento de imágenes digitales: uso de herramientas gratuitas para fotógrafos . Presione. ISBN 978-1-4302-2841-7.
enlaces externos
- Página web oficial
- Política de seguridad de ImageMagick - Política de seguridad de ImageMagick - las mejores prácticas le recomiendan encarecidamente que configure una política de seguridad que se adapte a su entorno local
- Ejemplos de mensajería instantánea : ejemplos de uso de CLI: proporciona muchos ejemplos pequeños que demuestran su amplia gama de capacidades.
- Fred's ImageMagick Scripts : proporciona una gran cantidad de scripts de shell que utilizan ImageMagick para realizar tareas más complejas.
- Cómo automatizar las pruebas estructurales de PDF con ImageMagick : demuestra las funciones de conversión, comparación y recopilación de ImageMagick.
- Vulnerabilidad crítica de ImageMagick ImageMagick sufre de una vulnerabilidad que permite que las imágenes mal formadas obliguen a un servidor web a ejecutar código