Just a small update on the ImageMagick front! First of all, a reminder. All my ImageMagick related efforts (compiler script + test project) can be found over at github.
The latest ImageMagick, at the time of writing is version 6.6.8-5. I’ve bumped the versions of the delegate libraries, as well:
- jpeg: 8-c
- png: 1.4.5
- tiff: 3.9.4
Finally I’ve got my hands on the latest Xcode4 and on the latest iOS4.3 SDK. I’ve updated the IM_Test Xcode project on the same git repository of the compiler script :)
You can always grab the pre-compiled versions from ImageMagick’s FTP stite
I hope everyone is happy about the update, if you are let me know what you’re up to with ImageMagick on the iPhone and if you feel like don’t hesitate in donating (link on the right), as you can see this blog runs ads-free and any bit helps!
Cheers!
~C
67 Responses
-
chiranjibi says:
Hi! Thanks for all of your work. I am running into trouble like i am trying to apply unsharp mask filter on image in iPad but it is not working. I tried Edge Detection also and it is working fine but USM is not.
Please guide me….
-
[...] for me, Claudio Marforio did the work to build ImageMagick for iOS armv6 and armv7. Unfortunately, I need libraries that work with armv7 and armv7s for the newer iOS devices. With [...]
-
Mario says:
Hi C,
Could you tell me if IM for IOS supports DNG to other format conversion?
Thanks and great job!
-
Bruce Cichowlas says:
Hi! Thanks for all of your work. I am running into trouble linking with the current Xcode (4.5.1). I get the message below. Any ideas, anyone?
ld: file is universal (2 slices) but does not contain a(n) armv7s slice: /Users/bcichowlas/Dropbox/git/e2/e2/libtiff.a for architecture armv7s
-
Floix says:
The current version is only compiled for armv7 architecture. Could u provide a binary that also runs on armv6?
-
Floix says:
Thanks for the work on ImageMagick for iOS. I’m facing a problem which i cannot solve right now. I’d like to add a small text to my image, using Arial als a font. Unfortunatly I receive the following error: delegate library support not built-in `/usr/local/share/ghostscript/fonts/n019003l.pfb’ (Freetype)
I compiled freetype2 for iOS and added it to my project, but still there seems to be something i’m missing. Can you help me out here?
-
you need to add the freetype library to ImageMagick at compile time! (in the delegates folders, similar to jpg, png).
-
Keyur says:
I have some errors that I can’t seem to resolve. Any ideas of what might be going on?
Code:
(LINE 9) CGImageRef ref = createStandardImage(img.CGImage);
(LINE 10) UIImage * image = [self createPosterizeImage:ref];
Errors:
(LINE 9) Implicit declaration of function ‘createStandardImage’ is invalid in C99
(LINE 9) Incompatible integer to pointer conversion initializing ‘CGImageRef’ (aka ‘struct CGImage *’) with an expression of type ‘int’;
(LINE 10) No visible @interface for ‘ViewController’ declares the selector ‘createPosterizeImage:’
-
Salil says:
Does it have Ghostscript compiled in it as well? I can use GS API with it?
-
Sorry, not at the moment.
-
I couldn’t make it compile on armv6 for the current latest IM (6.7.6-0). The error I received was:
cp: /path/to/cross_compile/tmp_target/imagemagick/lib/libMagickCore.a: No such file or directory
and similar errors like that so no ImageMagick got created. Delegates did get created, though.
I (think I) managed to make it work on armv6 for 6.6.8-10 but with the latest JPG, PNG, TIFF delegates (armv7 works fine, waiting to test in my 3GS with OS 3.1.3).
OS: 10.6.8
XCode: 4.2
iOS SDK: 5.0
Thanks a lot!
-
dinesh says:
Hi,
I am using libtiff to create tiff images. I am stuck how to convert TIFF data type to nsdata. I would really appreciate you can help me with this.
Thanks
-
Cloud,
Thanks for all the work. I was wondering if you knew of a way to change the temp file directory.
http://www./discourse-server/viewtopic.php?f=3&t=13574&start=15
ImageMagick generates a bunch of temp files in my app and it is getting a deny-file-write error. The program still finishes but I think it’s causing me some other problems with my app.
I’ve tried doing a “putenv” but it seems IM doesn’t pick up on that. And I can’t put it in the configure.xml because I don’t know until runtime the actual path of the user’s directory I’m trying to write to.
-
Hi,
I never had such a problem and cannot help you. Sorry!
~C
-
dinesh says:
Hi,
I am trying to using Image magick in my ipad project I could not find documentation of the classes. Can you please provide me any source for that.
Dinesh
-
Dave says:
Hey! I can’t thank you enough for making this available.
I am getting memory leak according to Instruments. It’s in AcquireMagickMemory. Any thoughts?
Thanks.
-
Steve says:
Hey thanks a lot for the effort here. Getting a couple fatal errors when trying to deploy to an iPhone 4 with iOS 5.
—
Undefined symbols for architecture armv7:
“_j0″, referenced from:
_FxEvaluateSubexpression in libMagickCore.a(magick_libMagickCore_la-fx.o)
“_j1″, referenced from:
_FxEvaluateSubexpression in libMagickCore.a(magick_libMagickCore_la-fx.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
—
Runs great in the simulator, of course. Any tips?
-
Steve says:
NM. We’re good.
-
Taylor says:
Hey Steve,
Was just wondering how you managed to fix this, I am getting a linker command fail also,
Kind regards
T
-
Kiran says:
Is there any support to open JPEG 2000 images with this iOS libraries, I tried to do so but it failed saying “No delegate decoder found for this format.”
-
jpeg2000 is currently not supported
-
Andrew says:
Hey Cloud thanks for your great work. I have compiled the libraries, but the size of *.a file is too large. What can I do for reducing the size? Compiled the libraries only for the arm arch When I distribute my app to app store?
-
When you compile your application for ARM the library will be already “split” in half so that it won’t go full in the application. That’s the most size-saving that will happen.
Best,
~C
-
Andrew says:
Thank you!
-
Lewis Denny says:
Hey cloud :)
This is exactly what Iv been looking for! I’m glad a mate tipped me off about using this, but how come you don’t distribute this in .deb format? Thanks for your time :)
-
Hey Cloud thanks for your work compiling ImageMagick for IOS and offering a sample project, it helps so much!
I am trying to port a C++ program that uses the Magick++ library to iOS. I have tried importing the libMagick++.a into your xcode project and the source CPP files but I can’t get it to compile. I get an error that says the libMagick++.a was built for an unsupported file format which is not the architecture being linked (i386). So I know that I need to recompile the Magick++ library for i386, but even if I do this would it work? Or would it be better to rewrite the code to use the MagickCore or MagicWand commands instead?
Thanks for your time!
-
It will work, you need to recompile it for: armv6, armv7 (for iPhone binaries) and i386x/x86_64 (should be the first, for the Simulator). You can reuse my script to understand how everything works!
~C
-
THANKS! I got it compiled as Universal and into a new Xcode project. Now I am trying to pass an image to it and I keep getting “Exception when loading image: Magick: NoDecodeDelegateForThisImageFormat” even though I can get the same image to read from compiling the program in the console. I am going to try to send raw pixel data instead and see if that works. Its a PNG image.
Thanks again.
-
You need to compile it with some delegates for it to read PNG, JPEG, …
-
eric says:
Hey there, considering you’re compiling the libraries, would it be possible to get CLI binaries for iOS? Not for use with developing applications, for use with command line stuff on jailbroken devices. Please? The version currently on Cydia is too old.
-
Hi,
yes, I can do that. Will look into compiling against iOS5 and will get you the bins as well as of the late of August.
-
eric says:
Thank you!
-
[...] have imagemagick running on the iPhone and can apply “MagickWand” methods with no problem. My issue is that I don’t [...]
-
Wei says:
Hi,
many thanks for your efforts on doing this
when I use this library,
I got some strange results,
I edit some code in the example code,
I need two image to composite,
when I use the jpeg compression one,
it works well
but if I don’t use the compression one
it doesn’t work
status = MagickTransformImageColorspace(magick_wand, GRAYColorspace);
status = MagickNegateImage(magick_wand,MagickTrue);
MagickAdaptiveThresholdImage(magick_wand, 5 ,5, 10);
status = MagickCompositeImage(ori_magick_wand , magick_wand , CopyOpacityCompositeOp ,0,0);
the first three call work well
but the last one doesn’t work if I don’t read picture like MagickReadImageBlob in jpeg compression
(in the without compression or new Method all dont work)
because the compression is too slow
I have to use other way
|