使用NDK为Android编译Imagemagick
我是android新手,所以我有个问题要问。我想使用使用NDK为Android编译Imagemagick,android,imagemagick,Android,Imagemagick,我是android新手,所以我有个问题要问。我想使用ImageMagick库在android中编辑图像,但我不想使用JMagick界面 以前有人在Android上导入过Imagemagick吗?如果是这样,你能给我一些提示吗?我想还没有人移植,但你可以自己移植。 您基本上需要获取源代码并创建一个android.mk文件 有几个链接帮助我构建了另一个库: 简短教程 我已经将其移植到android上,代码已经存在。您可以选择opencv库 使用这个,它是编译的。它不是awt;您只需要编译测试ap
ImageMagick
库在android中编辑图像,但我不想使用JMagick
界面
以前有人在Android上导入过Imagemagick吗?如果是这样,你能给我一些提示吗?我想还没有人移植,但你可以自己移植。 您基本上需要获取源代码并创建一个android.mk文件 有几个链接帮助我构建了另一个库:
- 简短教程
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();
}
}
}
(文本应用程序将图片转换为blob)
我成功了,你也会成功。
享受它。刚刚移植了它,
仍然是粗略的,但适用于大多数情况。感谢您的代码。但是我很难在我的机器上编译你的代码。您是否可以解释如何使用代码?最新的github repo包含一个重建脚本。你可以看看。基本上,你修改了脚本中的SDK变量,一切都会正常工作。我下载了代码,但使用起来有问题。首先,我无法编译它,它抛出了一些freetype丢失错误,所以我得到了它。所以从一个旧的提交。现在我遇到了一些问题,因为Magick软件包中有很多java.awt引用,但我确信在android中awt是不可用的。你有android可执行二进制文件吗?如何用它将帧转换为gif?用这个来回答上述问题。如何将其添加到android studio 1.5中?问题是:OpenCV专注于计算机视觉,而ImageMagick用于更一般的图像处理。合并这两个库是有意义的,但是,对我来说,如果您有一个只有ImageMagick才能完成的任务,那么使用OpenCV而不是ImageMagick是没有意义的。