Author |
Topic |
spetric
Croatia
308 Posts |
Posted - May 13 2020 : 05:32:41
|
Hi,
Where I can download imagemagic.dll 64-bit version without downloading full installation. I have 32-bit version only from 2005. If there is also newst 32-bit version it would bi nice.
TIA, Siniša |
|
kturkay
44 Posts |
|
xequte
38608 Posts |
Posted - May 13 2020 : 17:11:47
|
Hi Sinisa
I cannot find a way to download them without using the installer.
Nigel Xequte Software www.imageen.com
|
|
|
spetric
Croatia
308 Posts |
Posted - May 15 2020 : 04:31:48
|
Thanks,
I'll run complete installation on virtual machine and extract DLL. |
|
|
spetric
Croatia
308 Posts |
Posted - May 15 2020 : 12:30:38
|
I forgot,
what version to download to suite ImageEn 8.1.1? Q8 or Q16?
BTW, I've downloaded Q16-64-bitDLL version and there is no file named imagemagic.dll?
My code:
if (_dataKeeper->SettingParams->ImageMagick)
IEAddExtIOPlugin("imagemagick.dll");
|
|
|
xequte
38608 Posts |
Posted - May 17 2020 : 04:04:02
|
Hi Spetric
I don't think from ImageEn's perspective it matters whether it is Q8 or Q16.
imagemagick.dll refers to the old ImageMagick support file that is available on the download page:
https://www.imageen.com/download/
The advantage of the imagemagick.dll is the user does not need to install ImageMagick to support the wider formats. However the DLL is old and does not support many of the newer ImageMagick features.
Nigel Xequte Software www.imageen.com
|
|
|
xequte
38608 Posts |
Posted - May 17 2020 : 04:09:43
|
Hi Spetric,
Sorry, in re-reading this thread, it sounds like you are trying to find the "latest ImageMagick.dll" in the installation to replace the older one from our download page.
Sorry, that is not possible. ImageMagick.dll is an *old* DLL that we created to support ImageMagick formats. Unfortunately it no longer became possible to compile it with the newer ImageMagick releases, so we switched instead to supporting the installed version of ImageMagick on the system.
In other words, there are two ways of making ImageEn use ImageMagick:
1. The ImageMagick.dll from our web page. You can ship it with your application, user does not need to isntall anything, but it is an old DLL without support for newer ImageMagick features
2. Install ImageMagick: Your users also need to install it. As best as I can determine it is not possible to ship a standalone version of ImageMagick
Nigel Xequte Software www.imageen.com
|
|
|
spetric
Croatia
308 Posts |
Posted - May 18 2020 : 16:52:56
|
Hi Nigel,
Thanks for info. I've checked ImageMagick documentation and some forum posts and it seems the best option is to build ImageMagick from the source. If I grab some time I'll investigate if it's possible to build a single DLL for those extra image formats. |
|
|
xequte
38608 Posts |
Posted - May 18 2020 : 18:12:29
|
Hi Spetric,
Yes, it would be cool to do an updated standalone ImageMagick DLL. Please email me if you need any help from our side.
Nigel Xequte Software www.imageen.com
|
|
|
spetric
Croatia
308 Posts |
Posted - May 22 2020 : 17:04:17
|
Well, I played a bit with ImageMagick source code and tried two scenarios:
1. I've built single 32-bit DLL from ImageMagick static libraries (complete). DLL was arround 12MB of size and exported ImageMagick APIs specified in iemiscplugins.pas, but it did not work. To make it work, too much hacking should be involved.
2. I've built ImageMagick dynamic version (32-bit) and got a bunch of DLLs (CORE_RL*.DLL and IM_MOD_RL*.DLL). I've copied them to directory where my exe resides, changed this part of code
if (_dataKeeper->SettingParams->ImageMagick)
IEAddExtIOPlugin("imagemagick.dll");
to
if (_dataKeeper->SettingParams->ImageMagick)
IEAutoLoadIOPlugins();
and to my surprise it worked. I've tested few SVGs and one MIFF file I've found on the web. Now, I'll try to get rid of some formats (DLLs) that ImageEn does not support.
Does ImageEn initialize ImageMagick via Magick++ or MagickCore and MagockWand is enough? |
|
|
xequte
38608 Posts |
Posted - May 23 2020 : 03:42:38
|
Hi
Can you upload the DLL's somewhere so I can test them at my end?
Nigel Xequte Software www.imageen.com
|
|
|
spetric
Croatia
308 Posts |
Posted - May 23 2020 : 15:46:15
|
Of course,
Here it is: http://www.sigmapi-design.com/archive/im_test_q16_32.zip Note: inside this zip archive you'll find a file delegates.xml. Inside this file, you'll see a path (my path-example) to portable Ghostscript command line interpreter gswin32c.exe.
It shows PDF in ImageEnView, but with some default resolution. Anyway, if you have installed Ghostscript, rename or remove delegates.xml file. If you have portable GhostScript, adjust the path in delegates.xml.
Very strange that ImageMagick uses exe file for converting PDF to some raster format when there is DLL that actually does the job (gsdl32.dll or gsdl64.dll). gswin32c.exe (200kb) just parses the input and calls gsdl32.dll.
Ghostscript API documentation: https://www.ghostscript.com/doc/current/API.htm.
Can you tell me what DLLs we can get rid off (like cairo, etc..) in order to get a smaller package for ImageEn?
|
|
|
spetric
Croatia
308 Posts |
Posted - May 25 2020 : 16:08:59
|
BTW,
When I've mentioned GhostScript, is there some ImageEn IO plug-in documentation?
By that, I mean some documentation on how to write IO plug-in, so that I can write a wrapper for GhostSrcipt DLL interpreter in order to read PDF directly using GhostScript DLL: ImageEnIO -> wrapperXX.dll -> gsdlXX.dll.
|
|
|
xequte
38608 Posts |
Posted - May 25 2020 : 18:10:16
|
Nice one, Spetric, it does work.
I cannot find documentation describing the ImageMagick DLL files, so we'd need to look at the ImageMagick source code to know for sure which are required. It might just be easier to slowly eliminate them to see if it affects functionality (I see that eliminating CORE_RL_exr_.dll, CORE_RL_libraw_.dll, etc, does not seem to break it).
There is not documentation for ImageEn IO plug-in functionality, unfortunately. Have you looked at the iemiscplugins source? I've emailed you a dummy template unit. Let me know what else I can do at this end.
Nigel Xequte Software www.imageen.com
|
|
|
spetric
Croatia
308 Posts |
Posted - May 27 2020 : 12:03:12
|
Hi Nigel,
Thanks for info.
As I see from dummy template unit, there is no "automatic" plug-in in the sens that user can write some image XYZ format as DLL plug-in with "ImageEn specified" APIs then let ImageEn load it with IEAddExtIOPlugin (like Photoshop 8bf plug-ins).
From iexBitmap.pas unit, only some predefined DLLs are supported: jbiglib.dll, imagemagick.dll.
Maybe I'm wrong or missing something, but custom user defined plug-ins are supported via user written class linked together with user application. Is that correct?
If so, I can write a class that will call GhostScript DLL (or gs exe) to convert PDF to bitmaps (or multi-page tiff) and then load it to let's say some MView.
But first, I'll build 64-bit ImageMagick DLLs, pack them and upload for testing.
Edit: Done. Here it is https://sigmapi-design.com/archive/im_test_q16_64.zip
Note: the same trick with delegates.xml but with path to gswin64c.exe. |
|
|
xequte
38608 Posts |
Posted - May 31 2020 : 23:25:31
|
Hi Spetric
I'm unable to get the DLLs to work with PDF files.
I've downloaded the portable version and updated the path in delegates.xml, but it silently fails.
I can use gswin32c.exe to rasterize PDF files as images, and we could write an ImageEn plug-in to support PDF loading using this method, but as far as I am aware, the Ghostscript license does not allow the files to be shipped, so it is not a good solution.
WPCubed's plug-in is only EU59 and has no limitations on distribution:
https://www.imageen.com/WPViewPDF/
Nigel Xequte Software www.imageen.com
|
|
|
spetric
Croatia
308 Posts |
Posted - Jun 01 2020 : 08:04:32
|
Hi Nigel,
I don't have any problems reading PDF via GhostScript, however path to portable GhostScript exe in delegates.xml must be specified not only for pdf, but for all other gs delegated formatas (ps, eps), otherwise it won't work (I don't know why). Anyway, I will install non-portable Ghostscript and see if it works without delegates.xml (it should, according to documentation).
I have WPViewPDF 3.0 Plus and also Gnostice PDF kit, but only GhostSript renders/converts some PDFs with floating forms/layers correctly (I don't know for WPViewPDF version 4.0).
Regarding ImageMagick, I have uploaded 64-bit DLLs and also tested minimum set of DLLs to be able to work as ImageEn plug-in...well, except JBIG. I have tested it on some sample JBGs, but it does not work.
If you have some JBG/BIE image that opens correctly on your side, please upload it so that I can test it.
|
|
|
xequte
38608 Posts |
Posted - Jun 01 2020 : 18:22:59
|
Sorry Spetric,
You are right. If you update all of the paths in the delegates.xml file, then PDF files load.
Even better, if the portable Ghostscript files are in your exe folder (or on the system path), you don't need to hardcode the path at all, just gswin32c.exe
It does not load some formats for me, such as JBIG.
Can I make your ImageMagick files available on our download page? Do you have an info file you want me to include?
Nigel Xequte Software www.imageen.com
|
|
|
spetric
Croatia
308 Posts |
Posted - Jun 02 2020 : 07:55:17
|
Hi Nigel,
Of course, you can make ImageMagick available on ImageEn download page, but you must include ImageMagick LICENCE file: https://imagemagick.org/script/license.php
You can also remove all IM_MOD_ formats not supported by ImageEn. I'm still trying to make a minimal package. I thought that CORE_RL_Cario wasn't necessaray, but alas...it must be included, because .PES extension want open without CORE_RL_Cairo...what a mess.
So far, there is no need to CORE_RL_(libraw, exr, flif, Magick++). I still haven't tested loading MPEGs. Formats that work OK (without GS):
CIN, DDS, FITS, MIFF, MNG, PCD, PES and SVG.
Regarding GhostsScript portable, you're right. If you copy Ghostsrcipt to exe folder, you don't need any delegates file. Also, from ImageMagick forum, search sequence for GhostScript is:
1. ImageMagick tries to find GhostSript via GS_PATH (or something like this). This is a situation when GhostScript is installed (non-portable version). 2. It checks for delegates.xml file. 2. It looks for GhostScript in the exe folder.
The version of uploaded ImageMagick is ImageMagick-7.0.10-13-Q16 for both 32 and 64 bit versions.
If you need some other build (Q8), please let me know.
BTW, JBIG does not open even with original IMDisplay.exe. |
|
|
xequte
38608 Posts |
Posted - Jun 02 2020 : 19:46:12
|
Hi Spetric
Cool, thanks. Let us know when you have completed your "minimal package". Let me know if you want me to do anything at my end.
Nigel Xequte Software www.imageen.com
|
|
|
xequte
38608 Posts |
Posted - Jun 02 2020 : 20:19:01
|
Here are some of the files I've tested:
www.imageen.com/files/other/ImageMagickTestImages.zip
These work for me: CIN, FITS, MIFF, PCD, SVG, XCF These failed: JBG, DPX I tested these formats (after adding as ImageMagick types) and they failed too: ART, DJVU, FPX, PICT, PIX, VIFF
Nigel Xequte Software www.imageen.com
|
|
|
Topic |
|