¿Cómo puedo modificar la imagen de java a través de ImageMagick? ¿Hay alguna forma de hacerlo?Imagen magick java
Respuesta
Utilice JMagick (docs). Lee la documentación. Proporciona toda la funcionalidad de ImageMagick. También puede consultar otro contenedor ImageMagick Java, im4java.
No es un buen documento para empezar im4java here
Este es un ejemplo, he trabajado a cabo.
/** Typical scaling implementation using JMagick **/
ImageInfo origInfo = new ImageInfo(absPath); //load image info
MagickImage image = new MagickImage(origInfo); //load image
image = image.scaleImage(finalWidth, finalHeight); //to Scale image
image.setFileName(absNewFilePath); //give new location
image.writeImage(origInfo); //save
Edición # 1:
Si usted se está preguntando por el archivo JAR de JMagick. Descarga jMagick tarball, quítalo.
$ tar xvzf jmagick-linux-6.4.0-Q32.tar.gz
./jmagick-6.4.0.jar
./jmagick.jar
./libJMagick-6.4.0.so
./libJMagick.so
@nishant gracias por tu ayuda puedes dar un ejemplo donde imagemagick se usa con java ... –
@rahul the great: ¿quieres un poco de código? El uso más común es el cambio de tamaño de la imagen y la marca de agua. – Nishant
@nishant yaaa quiero cambiar el tamaño de la imagen. Por favor publíquelo muchas gracias por su ayuda –
Cambiar el tamaño de una imagen (usando el método de más fácil) dentro de la J2SE.
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import javax.swing.*;
import javax.imageio.ImageIO;
import java.net.URL;
class ResizeImage {
public static void main(String[] args) throws Exception {
URL url = new URL("http://pscode.org/media/citymorn2.jpg");
final BufferedImage bi = ImageIO.read(url);
Runnable r = new Runnable() {
public void run() {
JLabel unresize = new JLabel(new ImageIcon(bi));
int width = (int)(bi.getWidth()*.75);
int height = (int)(bi.getHeight()*.75);
BufferedImage bi1 = new BufferedImage(width, height,
BufferedImage.TYPE_INT_RGB);
Graphics g1 = bi1.getGraphics();
g1.drawImage(bi, 0, 0, width, height, null);
JLabel easyResize = new JLabel(new ImageIcon(bi1));
JPanel p = new JPanel();
p.add(unresize);
p.add(easyResize);
JOptionPane.showMessageDialog(null, p);
}
};
SwingUtilities.invokeLater(r);
}
}
Ahora, ¿cómo podrías, por ejemplo, almacenar esta imagen redimensionada en el disco? –
Cómo instalar JMajick en Windows
- Ir a http://downloads.jmagick.org/6.3.9/ (o cualquier otra versión de su elección)
- Descargar ImageMagick-6.3.9-0-Q8-ventanas- dll.exe y jmagick-win-6.3.9-Q8.zip.
- Instale el archivo exe. Esto instalará ImageMagick, que es un requisito previo para que JMagick funcione.
- Ahora extrae el archivo zip. Esto dará jmagick.dll y jmagick.jar.
- Copie la carpeta jmagick.jar lib e inclúyala en classpath.
- Copie el jmagick.dll en el directorio de instalación raíz de ImageMagic y agréguelo como una entrada a la variable de entorno PATH.
- JMagick está instalado :).
esto es genial! Me enfrenté a una excepción (usando Windows 7) "UnsatisfiedLinkError" hasta que mantuve el 'jmagick.dll' dentro de mi JRE_HOME/bin y necesité un reinicio del sistema para cargar el dll. – tusar
Para ImageMagic 1.4.0
// create command
ConvertCmd cmd = new ConvertCmd();
// create the operation, add images and operators/options
IMOperation op = new IMOperation();
op.addImage("source_picture.jpg"); // source file
op.resize(800,600);
// of op.resize(800); // and height calculate automatically
op.addImage("resized_picture.jpg"); // destination file file
// execute the operation
cmd.run(op);
Y si te gusta el experto!
<dependency>
<groupId>org.im4java</groupId>
<artifactId>im4java</artifactId>
<version>1.4.0</version>
</dependency>
¿cómo se puede imitar 'convertir my_image.jpg pdf_version.pdf'? – mmcrae
No estoy seguro de eso. Lo usó hace mucho tiempo. Pero creo que simplemente puedes eliminar resize() y cambiar resized_picture.jpg a pdf_version.pdf – user1079877
Intenté usar imagemagick de Java pero encontré una biblioteca 100% java acelerada por hardware para las operaciones de imagen.
https://github.com/thebuzzmedia/imgscalr
"Esta biblioteca hace uso de técnicas de escalamiento Java2D eficientes defendidas por el equipo Java2D que proporciona operaciones aceleradas de hardware en la mayoría de las plataformas."
- 1. Imagen Magick: optimización de la imagen para sitios web
- 2. Detección de bordes de imagen en iPhone usando Image Magick
- 3. Identificar profile-icc con Image Magick
- 4. obteniendo color de píxel con Magick ++
- 5. Convertir cv :: Mat a Magick :: Image
- 6. Image Magick - Convertir texto en imagen - ¿hay alguna manera de centrar el texto en el centro de la imagen?
- 7. Java imagen de relleno
- 8. Transformación de imagen Java
- 9. ¿Cómo puedo cambiar el tamaño de una imagen para que quepa en el área con Image :: Magick?
- 10. Convertir imagen en texto - Java
- 11. Girar una imagen en java
- 12. Java - Rotación de la imagen
- 13. Agregar imagen a JAR Java
- 14. Mostrar imagen en Java JFrame
- 15. escala de imagen de Java
- 16. imagen de la URL (Java)
- 17. Java - ventana de la imagen
- 18. Diferencia entre la imagen y la imagen almacenada en Java
- 19. RMagick no puede leer la imagen remota
- 20. convirtiendo correctamente una imagen CMYK a RGB con RMagick
- 21. Obteniendo una imagen de Mathematica en Java
- 22. Corte de la imagen de Java
- 23. Java Slick scale Imagen sin anti-aliasing
- 24. Extraer la imagen del cursor en Java
- 25. Java: ImageIcon vs. Diferencia de imagen
- 26. imagen de fondo de oscilación de java
- 27. Mostrar una imagen en Java Swing
- 28. Java encuentra la imagen en la pantalla
- 29. ¿Cómo puedo filtrar una imagen en Java?
- 30. Java - Obtener una imagen de un JPanel
Por favor, añada un signo de interrogación (?) A las preguntas. Utilice una letra mayúscula al comienzo de cada oración. Ese pasaje fue doloroso de leer en minúsculas. Vale la pena ser más específico sobre lo que quiere decir con 'modificar'.En cuanto al cambio de tamaño (fin de marca de agua, incluso), esto se puede hacer utilizando Java 2D (en el J2SE), sin necesidad de una API de terceros. La única advertencia es el rango limitado de tipos de archivos de imagen que ofrece J2SE. (Y si quisiera tratar con tipos de imágenes como TIFF, recomendaría JAI.) –
@Andrew Thompson: hecho. Sí, puedes usar JAI. He usado tanto ImageMagick como JAI. Hay dos problemas principales por los que evito JAI siempre que puedo. (1) La calidad de la imagen se degrada mucho, especialmente en una reducción de escala pesada. Hay muchos parámetros que debe conocer para obtener un resultado correcto con una calidad decente. (2) No es fácil de usar. – Nishant