21
votes

I'm new in android, so i have a question to ask. I want to use the ImageMagick library to edit images in android but I don't wanna use the JMagick interface.

Has anybody import Imagemagick on Android before? If so, can you please give me some hints on how to do this?

5

5 Answers

23
votes

I have ported it to android, and the code is in github.

3
votes

I guess nobody ported yet but you can do it yourself. You will basically need to get the sources and create an android.mk file.

There are several links that helped me out to build another lib:

2
votes

Just Ported it here, Still sketchy, But works for most.

1
votes

Use this one, it was compiled. it not awt; you just need compile test apk.Here is test example:

public class TesteNdkActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        try {
            ImageInfo i = new ImageInfo("/sdcard/DCIM/Camera/IMG_20120226_230240.jpg");
            MagickImage m = new MagickImage(i);

            int newHeight = (int) ((640/(float)m.getWidth()) * m.getHeight());
            m = m.scaleImage(640, newHeight);
            m = m.cropImage(new Rectangle((640-480)/2, 0, 480, 480));
            m = m.charcoalImage(0.5, 0.5);

            try {
                byte blob[] = m.imageToBlob(i);
                FileOutputStream fos = new FileOutputStream(new File("/sdcard/foto_teste.jpg"));
                fos.write(blob);
                fos.close();
            }
            catch (Exception e) {
                e.printStackTrace();
            }
        } 
        catch (MagickException e) {
            e.printStackTrace();
        }
    }
}

(text app will covert a picture to blob) I was successful, you will be successful. Enjoy it.

0
votes

You may choose opencv library instead!