lilac / android-imagemagick Goto Github PK
View Code? Open in Web Editor NEWImageMagick library ported to Android
ImageMagick library ported to Android
I started with some errors about not being able to find api.h and some other magick headers. I was able to fix those, but now I'm getting these errors when building:
/home/gregg/workspace/Android-Magick/ndk-modules/tiff/libtiff/tif_ojpeg.c:192:21: error: jpeglib.h: No such file or directory
/home/gregg/workspace/Android-Magick/ndk-modules/tiff/libtiff/tif_ojpeg.c:193:20: error: jerror.h: No such file or directory
It looks like the tiff lib is having trouble finding the jpeg headers (they are in the ndk-modules/jpeg folder). I can't figure out how to point it to the correct location. Any thoughts?
Hi,
This is a lovely project, but I just wonder what license terms it is since there's no LICENSE file in the source tree.
Could I merge the code or link to it as a jar in a proprietary license project?
Hi, your project are using an unsafe version of the libpng library (https://github.com/lilac/Android-ImageMagick/blob/master/lib/libpng/jni/Android.mk)
Could you migrate your libpng-1.2.40 on higher version?
Thank you in advance for any help you could provide.
Hi man,
I'm trying to convert a JPEG image into TIFF group4 compression. But the only command that does not work is "CompressionType.Group4Compression". I'm trying to put it as argument in the "ImageInfo" and "MagickImage" objects. But after job is completed the image result don't have the group4 compression.
My doubt is about the sequence of metthod called. To compress a TIFF Group4 image, what I need to do? I tried many types and order, but without success.
Please help me, to finish my project it's the only thing that is missing....
Thanks in advance
Hi,
really great project. But I have problems to compile it.
I used the rebuild script to build the android-magick.so but it crashed
with the stacktrace below. After a short cosideration I saw there are alot of
absolute path in the Android.mk files (like Magick_Home := /Users/iphoneteam/sdk/ImageMagick-6.7.2).
Can you provide also the android-magick.so file or fix the paths or give me some hints.
I would really appreciate that.
Thank you!
Stacktrace:
Clean: MagickCore [armeabi]
Clean: android-magick [armeabi]
Clean: coders [armeabi]
Clean: filters [armeabi]
Clean: jpeg [armeabi]
Clean: stdc++ [armeabi]
Clean: tiff-shared [armeabi]
Clean: tiff-static [armeabi]
Clean: tiffinfo [armeabi]
Gdbserver : [arm-linux-androideabi-4.4.3] libs/armeabi/gdbserver
Gdbsetup : libs/armeabi/gdb.setup
Compile thumb : android-magick <= jmagick.c
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c:7:24: error: magick/api.h: No such file or directory
In file included from /home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c:8:
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.h:4:26: error: magick/image.h: No such file or directory
In file included from /home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c:8:
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.h:26: error: expected ';', ',' or ')' before '' token
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.h:131: error: expected declaration specifiers or '...' before 'RectangleInfo'
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.h:151: error: expected declaration specifiers or '...' before 'PixelPacket'
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.h:165: error: expected declaration specifiers or '...' before 'Image'
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.h:198: error: expected declaration specifiers or '...' before 'ProfileInfo'
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.h:212: error: expected declaration specifiers or '...' before 'ProfileInfo'
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c:38: error: expected ';', ',' or ')' before '' token
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c: In function 'getHandle':
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c:150: warning: cast to pointer from integer of different size
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c: In function 'setHandle':
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c:204: warning: cast from pointer to integer of different size
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c: At top level:
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c:586: error: expected declaration specifiers or '...' before 'RectangleInfo'
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c: In function 'getRectangle':
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c:595: error: 'iRect' undeclared (first use in this function)
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c:595: error: (Each undeclared identifier is reported only once
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c:595: error: for each function it appears in.)
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c: At top level:
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c:622: error: expected declaration specifiers or '...' before 'PixelPacket'
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c: In function 'getPixelPacket':
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c:637: error: 'iPixelPacket' undeclared (first use in this function)
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c:637: error: 'Quantum' undeclared (first use in this function)
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c:637: error: expected ';' before 'red'
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c:638: error: expected ';' before 'green'
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c:639: error: expected ';' before 'blue'
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c:640: error: expected ';' before 'opacity'
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c: At top level:
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c:662: error: expected declaration specifiers or '...' before 'Image'
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c: In function 'newImageObject':
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c:684: error: 'image' undeclared (first use in this function)
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c: At top level:
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c:733: error: expected declaration specifiers or '...' before 'ProfileInfo'
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c: In function 'setProfileInfo':
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c:746: error: 'profileInfo' undeclared (first use in this function)
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c: At top level:
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c:768: error: expected declaration specifiers or '...' before 'ProfileInfo'
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c: In function 'getProfileInfo':
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c:795: error: 'profileInfo' undeclared (first use in this function)
make: *** [/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/obj/local/armeabi/objs-debug/android-magick/jmagick.o] Fehler 1
Hi,i have got the demo from https://github.com/puelocesar/android-lib-magick ,the demo works well,but how to blend 2 images like photo shop??like "soft light" blend mode???
please give me response asap,i need your help.
How i can execute commands in android
Hi!
Trying to get this to work on android, working in a windows environment. getting some errors on the ndk-build command.
Here is the output:
C:\Android-ImageMagick\jni>ndk-build
Android NDK: WARNING:C:\Android-ImageMagick\ndk-modules/ImageMagick-6.7.3-0/magick/Android.mk:M
agickCore: LOCAL_LDLIBS is always ignored for static libraries
Android NDK: WARNING:C:\Android-ImageMagick\ndk-modules/ImageMagick-6.7.3-0/magick/Android.mk:M
agickCore: non-system libraries in linker flags: -lfreetype -lpng
Android NDK: This is likely to result in incorrect builds. Try using LOCAL_STATIC_LIBRARIES
Android NDK: or LOCAL_SHARED_LIBRARIES instead to list the library dependencies of the
Android NDK: current module
Android NDK: WARNING:C:/Android-ImageMagick//jni/Android.mk:android-magick: non-system librarie
s in linker flags: -lfreetype -lpng
Android NDK: This is likely to result in incorrect builds. Try using LOCAL_STATIC_LIBRARIES
Android NDK: or LOCAL_SHARED_LIBRARIES instead to list the library dependencies of the
Android NDK: current module
Android NDK: WARNING:C:\Android-ImageMagick\ndk-modules/ImageMagick-6.7.3-0/coders/Android.mk:c
oders: LOCAL_LDLIBS is always ignored for static libraries
Android NDK: WARNING:C:\Android-ImageMagick\ndk-modules/ImageMagick-6.7.3-0/coders/Android.mk:c
oders: non-system libraries in linker flags: -ltiff
Android NDK: This is likely to result in incorrect builds. Try using LOCAL_STATIC_LIBRARIES
Android NDK: or LOCAL_SHARED_LIBRARIES instead to list the library dependencies of the
Android NDK: current module
Android NDK: WARNING:C:\Android-ImageMagick\ndk-modules/ImageMagick-6.7.3-0/filters/Android.mk:
filters: LOCAL_LDLIBS is always ignored for static libraries
Android NDK: WARNING:C:\Android-ImageMagick\ndk-modules/tiff/Android.mk:tiff-static: LOCAL_LDLI
BS is always ignored for static libraries
[armeabi] Compile thumb : android-magick <= jmagick.c
C:/Android-ImageMagick//jni/jmagick.c:7:24: fatal error: magick/api.h: No such file or director
y
compilation terminated.
make.exe: *** [C:/Android-ImageMagick//obj/local/armeabi/objs/android-magick/jmagick.o] Error 1
As you can see it says that magick/api.h doesn't exist but it doesn. I'm new to using hte android ndk and .mk files so I'm not really sure what to change to get it to look in the right place. I've updated the NDK_MODULE_PATH variable, and in Android.mk I see a Magick_Home variable, but I'm not sure what to set it to. To the source dir of Image magick that i've downloaded? To the Image Magick directory in the ndk-modules path of this project? Sorry, but I jsut don't get it :/
I wanted to rebuild the Android-ImageMagick library, but with modified files from jmagick's misc repo containing the distortImage
functionality. My problem is that with the rebuild script as is (though with the first line being changed into export NDK=<NDK path>
), it just nets me:
Android NDK: Found platform level in F:/android-imagemagick/project.properties. Setting APP_PLATFORM to android-8.
Android NDK: android-8 is unsupported. Using minimum supported version android-14.
Android NDK: WARNING: APP_PLATFORM android-14 is higher than android:minSdkVersion 8 in F:/android-imagemagick/AndroidManifest.xml. NDK binaries will *not* be compatible with devices older than android-14. See https://android.googlesource.com/platform/ndk/+/master/docs/user/common_problems.md for more information.
Android NDK: WARNING:F:/Android-ImageMagick/ndk-modules/ImageMagick-6.7.3-0/magick/Android.mk:MagickCore: LOCAL_LDLIBS is always ignored for static libraries
Android NDK: WARNING:F:/Android-ImageMagick/ndk-modules/ImageMagick-6.7.3-0/magick/Android.mk:MagickCore: non-system libraries in linker flags: -lfreetype -lpng
Android NDK: This is likely to result in incorrect builds. Try using LOCAL_STATIC_LIBRARIES
Android NDK: or LOCAL_SHARED_LIBRARIES instead to list the library dependencies of the
Android NDK: current module
Android NDK: WARNING:F:/android-imagemagick/jni/Android.mk:android-magick: non-system libraries in linker flags: -lfreetype -lpng
Android NDK: This is likely to result in incorrect builds. Try using LOCAL_STATIC_LIBRARIES
Android NDK: or LOCAL_SHARED_LIBRARIES instead to list the library dependencies of the
Android NDK: current module
F:/android-ndk-r17b/build//../build/core/build-binary.mk:688: Android NDK: Module android-magick depends on undefined modules: png freetype z
F:/android-ndk-r17b/build//../build/core/build-binary.mk:701: *** Android NDK: Aborting (set APP_ALLOW_MISSING_DEPS=true to allow missing dependencies) . Stop.
Which part of the Android.mk file in the jni
folder do I need to change?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.