Image magick java

前端 未结 5 1049
误落风尘
误落风尘 2020-12-08 03:07

How can I modify image from java through ImageMagick? Is there any way of doing it?

相关标签:
5条回答
  • 2020-12-08 03:19

    How to Install JMajick on Windows

    1. Go to http://downloads.jmagick.org/6.3.9/ (or any other version of your choice)
    2. Download ImageMagick-6.3.9-0-Q8-windows-dll.exe and jmagick-win-6.3.9-Q8.zip.
    3. Install the exe file. This will install ImageMagick which is a prerequisite for JMagick to work.
    4. Now extract the zip file. This will give jmagick.dll and jmagick.jar.
    5. Copy the jmagick.jar to you lib folder and include it in the classpath.
    6. Copy the jmagick.dll to the root installation directory of ImageMagic and add it as an entry to the PATH environment variable.
    7. JMagick is installed :).
    0 讨论(0)
  • 2020-12-08 03:21

    Use JMagick (docs). Read the documentation. It provides all the functionality of ImageMagick. You may also look into another ImageMagick Java wrapper, im4java.

    There is a good starters document for im4java here


    Here is an example, I've worked out.

    /** 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
    

    Edit #1:

    If you are wondering for the Jar file of JMagick. Download jMagick tarball, untar it.

    $ tar xvzf jmagick-linux-6.4.0-Q32.tar.gz 
    ./jmagick-6.4.0.jar
    ./jmagick.jar
    ./libJMagick-6.4.0.so
    ./libJMagick.so
    
    0 讨论(0)
  • 2020-12-08 03:21

    I tried using imagemagick from Java but found hardware accelerated 100% java library for image operations.

    https://github.com/thebuzzmedia/imgscalr

    "This library makes uses of efficient Java2D scaling techniques advocated by the Java2D team which provides hardware accelerated operations on most platforms."

    0 讨论(0)
  • 2020-12-08 03:37

    Resizing an image (using the easiest method) within the 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);
        }
    }
    
    0 讨论(0)
  • 2020-12-08 03:40

    For 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);
    

    And if you like maven!

    <dependency>
        <groupId>org.im4java</groupId>
        <artifactId>im4java</artifactId>
        <version>1.4.0</version>
    </dependency>
    
    0 讨论(0)
提交回复
热议问题