Today I have tried to install imagick
in my xampp a hundred of times. And I did it. If you have troubles, please try following this steps:
Win32 dynamic at 16 bits-per-pixel
.C:\imagemagick
.5.x Thread Safe (TS) x86
. The x in 5.x is the version of your PHP.php_imagick.dll
in php/ext folder of your xampp installation.extension=php_imagick.dll
php
in the console (start->cmd)), you will get an error. If that error says something like this: Unable to find the entry point for the procedure FlattenImages in the DLL CORE_RL_magick.dll
it means that you're well under way.php_imagick.dll
. All of they start with the prefix CORE_RL_
.php
in the windows console. If dont say something means that the imagick is functionally (you can check in localhost/xampp/ > phpinfo() link
. Personally i had to install a new DLL: vcomp110.dll
.
If someone have the same error than me (the system can't found the vcomp11.dd
) download it hereNow, if you try excuting php
on console, or just initializing the apache module of xampp, you should not have errors.
Good bye and hope I can help someone.
EDIT: when tried to convert some-img.bmp some-result.jpg
in the console, i had this error:
convert.exe: unable to open module file 'C:\Users\my-acc\.magick\IM_MOD_RL_BMP_.dll': No such file or directory @ ...
This happend when there are no folder .magick
in my-acc
. The thing you need to do is this:
Create a folder named .magick
in the my-acc
folder. Since the name starts with a stop, you need to create it through the console. Here are the commands:
1.1. c:
1.2. cd Users\my-acc
1.3. mkdir .magick
C:\imagemagick\modules\coders
and copy the entire files into the lastest folder created.Now, you will be able to use Image Magick through the commands or the PHP Classes.
On background, if you use Codeigniter, i have no idea how to use the image_lib with imagick. So, it's better with the own imagick classes. Here a simple example:
$image = new Imagick($upload_data['full_path']);
$image->thumbnailImage(250,0);
if($image->writeImage($upload_data['file_path'].$upload_data['raw_name'].'_thumb'.$upload_data['file_ext'])){
something here;
}
$image->clear();
This answer might be extremely naive, but, I've found that getting things done in Windows is generally too painful. Many people agree with that and have found solace in a tool known as "chocolatey".
First, install chocolatey on your Windows machine (super easy install instructions):
Then, use chocolatey to install everything else that you need (imagemagick in this case):
https://chocolatey.org/packages/imagemagick
I suspect you might have to do some minor tweaking to configuration files after that, plus handle all of the "Windows permissions" needed to get things to work smoothly. Permissions are can be as simple (and not necessarily safe) as "full control" to some user, plus activating inheritance and overwriting all children's settings to use inheritance.
In short, install, configure, permissions, go.
PS. This answer might be incomplete/prototypical/experimental, since I don't run codeigniter, php, imagemagick on Windows.