【发布时间】:2011-08-15 11:45:15
【问题描述】:
我是 android 新手,所以我有一个问题要问。我想使用ImageMagick 库在android 中编辑图像,但我不想使用JMagick 接口。
之前有人在 Android 上导入过Imagemagick 吗?如果是这样,您能否给我一些关于如何执行此操作的提示?
【问题讨论】:
标签: android imagemagick
我是 android 新手,所以我有一个问题要问。我想使用ImageMagick 库在android 中编辑图像,但我不想使用JMagick 接口。
之前有人在 Android 上导入过Imagemagick 吗?如果是这样,您能否给我一些关于如何执行此操作的提示?
【问题讨论】:
标签: android imagemagick
我已经移植到android了,代码在github。
【讨论】:
我猜还没有人移植,但你可以自己做。 您基本上需要获取源代码并创建一个 android.mk 文件。
有几个链接帮助我构建了另一个库:
【讨论】:
刚刚移植here, 仍然粗略,但适用于大多数人。
【讨论】:
使用这个one,它被编译了。它不是awt;您只需要编译测试 apk。这里是测试示例:
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) 我成功了,你也会成功。 尽情享受吧。
【讨论】:
你可以选择opencv库来代替!
【讨论】: