GNU Emacs30.0.50に含まれるjava/INSTALL
に記載されている修正、およびサブモジュールが他のモジュールと競合しないように修正を加えたpatchを適用したImageMagickモジュールのレポジトリ。
$: git clone https://github.com/MolotovCherry/Android-ImageMagick7
- デフォルトブランチ
master
からタグ7.1.0-62
をチェックアウトして1、修正用ブランチmy/master
をcut
$: cd Android-ImageMagick7
$: git checkout 7.1.0-62
$: git checkout -b my/master
- patchにより
java/INSTALL
に記載されている修正、更に他モジュールも一緒にビルドする場合のために必要?な修正2を適用する
$: patch -p1 < PATCH_FOR_IMAGEMAGICK.patch
- 空レポジトリにpush
$: git add -A
$: git commit -m 'nanika commit messages...'
$: gh repo create my-Android-ImageMagick7 --public
$: git remote add mine https://github.com/JIBUN/my-Android-ImageMagick7
$: git branch -M my/master
$: git push -u mine my/master
以上ここまで
以下元のREADME.md
This is a developement libary, NOT an app. There is no "APK". There are binaries you can use however. If you want an app, termux has their own imagemagick package
This is a fully featured imagemagick build compatible with android and has Kotlin bindings (check out KMagick below). All libaries used are the absolute latest versions with the latest and greatest features. This repo automatically updates itself with the latest imagemagick releases and issues full binary releases!
It can be configured to both build as a binary (with shared libaries or statically linked), or as separate shared libraries (and no binary).
MagickWand and Magick++ are both available for compilation as well.
It comes compiled with the following features:
- OpenMP(3.1) / OpenCL (Qualcomm)
- HDRI support
- Q16 Quantum depth
- Cipher
- DPC
It comes featured with the following delegates:
- bzlib
- libfftw
- libfreetype
- libjpeg-turbo
- libopenjpeg
- libpng
- libtiff
- libwebp
- libxml2
- liblzma
- liblcms2
Also comes with (but these are not delegates, only support libraries):
- libicu4c (libicuuc and libicui18n)
- libiconv
- libltdl (required for libOpenCL)
Requires API >= 24 (>= Nougat)
Currently, only arm64-v8a is supported
You can test it with earlier versions, but I offer no support for it. If you're using only the binary, you almost certainly can compile for earlier versions. Nothing is stopping you from theoterically making it compatible with earlier Android versions too. If you get it working for earlier versions, let me know
Check out the release page for the latest built binaries. This is built using the default configuration. If you need a special configuration (for example OpenCL), you will need to build it for yourself from source.
- OpenCL support is available for Qualcomm. OpenCL is recommended over OpenMP. Please go here in order to learn how to setup OpenCL build for the project.
Check out the KMagick repo for instructions on how to use ImageMagick with Kotlin in your project (instead of the binary).
Please visit the wiki for instructions on how to use this project.
- Wiki home
- Setup & building instructions
- Running from ADB (for testing)
- FAQ
Please use Discussions for everything else that doesn't fit into an issue report
If you found this library useful, please consider showing appreciation and help fund it by sending a donation my way.
All donations help this project continue to be supported for longer and receive more frequent updates! Thanks for your support! <3
Footnotes
-
7.1.0-62
をcheckoutした理由ですが、たしかjava/INSTALL
に記載されているpatchが適用できるコミットを探して見つけたコミットだったと思います。ただしこのコミットにたいしてもfuzzyで適用されたHunkが1つあったと記憶しています。 ↩ -
このモジュールには
libpng
、webp
等、Emacsから見ると主モジュールであるようなモジュールがサブモジュールとして含まれています。Emacsのビルドシステムでは各モジュールを単一ディレクトリでビルドするために、バージョン相違とかで実行時エラーが発生してしまいます。各モジュール毎にディレクトリを分けてビルドすれば解決できるかなあ、と各サブモジュールのMakefileの位置を頼りに試行しましたが、コンパイラ/アーカイバに渡すようなフラグにはディレクトリを推測できる要素がなく、Android.mkの仕様としてLOCAL_MODULEは一意でなければならないらしいので、サブモジュールのLOCAL_MODULE
、それらを参照するLOCAL_(SHARED|STATIC)_LIBRARIES
にたいして後置子を追加してます。 ↩