Viewed   192 times

How to install image magic in Windows 7. I followed these instruction

To install IMagick on Windows XP (php 5.2.x)

  1. download and install ImageMagick-6.5.8-7 Q16-windows-dll.exe http://www.imagemagick.org/download/binaries/ ImageMagick-6.5.8-7-Q16-windows-dll.exe

  2. download php_imagick_dyn-Q16.dll from: http://valokuva.org/outside-blog-content/ imagick-windows-builds/080709/

    copy dll to [PHP]/extension dir and rename it to php_imagick.dll

  3. You have to edit your php.ini file and add new extension

    extension=php_imagick.dll
    
  4. Save ini file and restart apache server.

    (If necessary, restart your windows)

  5. phpinfo() should show imagick enabled.

after that I execute a sample script but its not working. It shows the Imagic class missing error.

Fatal error: Class 'Imagick' not found in C:...imgborder.php on line XXX

Please help me to install Imagick. :-(

 Answers

3

Check permissions on the .dll file to make sure the Apache user has read access to the file. Better change the permission of the [PHP]/extension directory.

To change the permission

  1. Right click the file(s) or folder(s)
  2. Select "Properties"
  3. Select "Security" tab
  4. Click on "Edit" button.

Change the permission of user to Full Control.

Tuesday, November 22, 2022
1

I am still thinking of further indicators, but for the moment...

IPTC Profile and/or Copyright

I would say that most professional photographers wouldn't let an image out the door without an IPTC profile and Copyright notice.

You can find that with ImageMagick like this:

identify -verbose image.jpg | grep -i profile

and your second image comes up with

Profile-8bim: 104 bytes
Profile-iptc: 92 bytes

You can actually read the profile like this:

convert b.jpg 8BIMTEXT:-

8BIM#1028="IPTC"
2#103#Original Transmission Reference="53616c7465645f5fb085443d8e4c5898afc929fa83c3cc27d7bf6da5d5f63efdf47888b1a19ac93e"
2#0="�"

or

convert b.jpg IPTCTEXT:-

2#103#Original Transmission Reference="53616c7465645f5fb085443d8e4c5898afc929fa83c3cc27d7bf6da5d5f63efdf47888b1a19ac93e"
2#0="�"

Resolution (dpi)

Another discriminant would probably be the resolution. Most mobile phones, and amateurs, and web-based images have a resolution of 72dpi or 96dpi. Most professional photographers would tend to favour 300dpi for high quality printing, so I would probably threshold at around 150dpi. You can get the resolution like this:

identify -verbose image.jpg | grep -i resolution

or faster and more succinctly

identify -format %x image.jpg
300

I note your first image has 72dpi and the second one has 300dpi.

Scope for enhancement

Another idea, which I am thinking about is what happens if you try to enhance the image digitally, and then see the differences between the enhanced image and the original and try to deduce something from that. Presumably, a professionally edited image will not be as susceptible to enhancement on the basis it should already be "good". So, let's say we choose ImageMagick's -enhance option, and enhance your two images and then look at the differences between the original and the enhanced images. I am going to switch to lossless PNG format to avoid JPEG quantisation effects.

# Make PNG
convert a.jpg a.png

# Enhance "a.png" and save as "ae.png"
convert a.png -enhance ae.png

# Compare "a.png" with "ae.png"
compare -metric rmse a.png ae.png -format "%[distortion]" resa.png
360.479 (0.00550055)0.00550055

Now do same procedure for second, professional image:

# Make a comparably sized PNG
convert b.jpg -resize 1200x1200 b.png

convert b.png -enhance be.png
compare -metric rmse b.png be.png -format "%[distortion]" resb.png
421.08 (0.00642527)0.00642527

I am still thinking about this...

Saturday, October 15, 2022
4

Eventually I ended up on a blogpost, which is a repost of a deleted post by PhilipD which was posted in a wrong format and not corrected. So the question was deleted.

I'm reposting the answer of PhilipD here so it can be found more easily for people encountering the same problem, because it took me half a day of frustration to find the blog post that worked. These steps detail a 32 bit installation. I did a 64 bit installation, for my 64bit php.


This is on a Windows Server 2012R2 (64-bit) server, using IIS as the web server application. However, I installed the 32-bit version of all the ImageMagick-related software because the web server application (IIS) is 32-bit. The following shows versions that were current/latest as of October-2017.

1. Download the ImageMagick installer

  • Go to http://www.imagemagick.org/

  • Click "Download" from the menu bar

  • Then "Windows Binary Releases" in the top links or scroll down
  • Select the "Win32 dynamic at 16 bits-per-pixel component", make sure you select a dynamic component and not a static.

2. Download the php module for ImageMagick

  • Go to http://windows.php.net/downloads/pecl/releases/imagick/
  • Select the highest version that's not an "RC" (Release Candidate) version – currently 3.4.3
  • Select the entry for the version of PHP (7.1), for VC14, x86, and "NTS" (Non Thread Safe) for IIS
  • Download and save the ZIP file.

3. Download the dependencies package for PHP to load/use ImageMagick

  • Go to http://windows.php.net/downloads/pecl/deps/
  • Select the "ImageMagick" package with the highest version number
    • *note that this might not be the same version as the item in (1.) above
  • Select the "vc14" and "x86" version*

4. Unblock each of the downloaded files

This may or may not be necessary depending on how you downloaded it, but you should always check and "unblock" downloaded files if needed.

  • Right-click on each file and select “Properties” from the popup menu
  • if the properties dialog shows the text “This file came from another computer and might be blocked to help protect this computer”,
    • click the “Unblock” button
    • click OK.

If you don’t “unblock” the downloaded files, especially for ZIP files, the individual files that are installed or copied can still be marked as “blocked” and this can sometimes cause some strange issues when running the software.

5. Installing the Imagick Application

  • Run ImageMagick-7.0.7-8-Q16-x86-dll.exe to install it
  • Accept the license agreement
  • Accept the defaults on each screen in the install process.

After the installation completes, to test that it was successful, open a command prompt and run the following two commands:

magick wizard: wizard.jpg
magick wizard.jpg win:

This should display an "IMDisplay" window showing a sketch/image of a wizard at an easel creating a Mona Lisa portrait.

6. Install the dependencies

  • Unzip the file you downloaded in step 3.
  • Go into the bin directory
  • copy the IM_MOD_RL_*.dll files (125 files) into the folder for the installed version of ImageMagick, such as C:Program Files (x86)ImageMagick-7.0.7-Q16
  • Go back into the bin directory
  • copy the CORE_RL_*.dll files (20 files) into the folder for the installed version of ImageMagick, such as C:Program Files (x86)ImageMagick-7.0.7-Q16 * * On the prompt if you wish to overwrite/rename, select overwrite
    • Note, this will break the command version of Imagick. magick: Wrong JPEG library version: library is 80, caller expects 62

7. Installing the Imagick php extension dll

  • Unzip the file downloaded in step 2.
  • copy the file php_imagick.dll to the "ext" folder for the installed version of PHP on the server, such as C:php7.1ext.

Do not copy the CORE_RL_* files
In some articles on the web, you will see instructions to also copy the CORE_RL_* files from this kit to replace the files in the ImageMagick folder, but this is incorrect; the appropriate versions of these files were copied in the step 6.

8. Modify PHP.ini

  • Edit the php.ini file in the PHP software folder, such as “C:PHP7.1php.ini”
  • Add the following line to the section containing the other extensions:

       extension=php_imagick.dll
    

9. Reboot the server.

Restarting IIS does not seem to be sufficient, you need to reboot the entire machine. This probaly has to do with that IIS doesn't recognize the PATH entry Imagick has entered.

10. Test PHPINFO

  • Create a PHP file in the web root, containing the following:

  • Access this file in a web browser,

  • Search for the “Imagick” section that should now exist in the PHPINFO output.

It should look like the following:

imagick imagick module: enabled imagick module version 3.4.3
imagick classes Imagick, ImagickDraw, ImagickPixel, ImagickPixelIterator, ImagickKernel
Imagick compiled with ImageMagick version ImageMagick 6.9.3-7 Q16 x86 2016-03-27 http://www.imagemagick.org
Imagick using ImageMagick library version ImageMagick 6.9.3-7 Q16 x86 2016-03-27 http://www.imagemagick.org
ImageMagick copyright Copyright (C) 1999-2015 ImageMagick Studio LLC
ImageMagick release date 2016-03-27
ImageMagick number of supported formats: 216
ImageMagick supported formats 3FR, AAI, AI, ART, ARW, AVI, AVS, BGR, BGRA, BGRO, BIE, BMP, BMP2, BMP3, BRF, CAL, CALS, CANVAS, CAPTION, CIN, CIP, CLIP, CLIPBOARD, CMYK, CMYKA, CR2, CRW, CUR, CUT, DATA, DCM, DCR, DCX, DDS, DFONT, DJVU, DNG, DOT, DPS, DPX, DXT1, DXT5, EMF, EPDF, EPI, EPS, EPS2, EPS3, EPSF, EPSI, EPT, EPT2, EPT3, ERF, EXR, FAX, FITS, FPX, FRACTAL, FTS, G3, GIF, GIF87, GRADIENT, GRAY, GROUP4, GV, H, HALD, HDR, HISTOGRAM, HRZ, HTM, HTML, ICB, ICO, ICON, IIQ, INFO, INLINE, IPL, ISOBRL, ISOBRL6, J2C, J2K, JBG, JBIG, JNX, JP2, JPC, JPM, JPT, JSON, K25, KDC, LABEL, M2V, M4V, MAC, MAGICK, MAP, MASK, MAT, MATTE, MEF, MIFF, MKV, MONO, MOV, MP4, MPC, MPEG, MPG, MRW, MSL, MTV, MVG, NEF, NRW, NULL, ORF, OTB, OTF, PAL, PALM, PAM, PATTERN, PBM, PCD, PCDS, PCL, PCT, PCX, PDB, PDF, PDFA, PEF, PES, PFA, PFB, PFM, PGM, PICON, PICT, PIX, PLASMA, PNM, PPM, PREVIEW, PS, PS2, PS3, PSB, PSD, PTIF, PWP, RADIAL-GRADIENT, RAF, RAS, RAW, RGB, RGBA, RGBO, RGF, RLA, RLE, RMF, RW2, SCR, SCREENSHOT, SCT, SFW, SGI, SHTML, SIX, SIXEL, SPARSE-COLOR, SR2, SRF, STEGANO, SUN, TEXT, TGA, THUMBNAIL, TIFF, TIFF64, TILE, TIM, TTC, TTF, TXT, UBRL, UBRL6, UIL, UYVY, VDA, VICAR, VID, VIFF, VIPS, VST, WBMP, WEBP, WMF, WMV, WPG, X3F, XBM, XC, XCF, XPM, XPS, XV, YCbCr, YCbCrA, YUV

Important:
If the “supported formats” section does not show any formats, or only shows a small number of formats, then the most likely cause is that you missed copying one or more of the IM_MOD_RL_* or CORE_RL_* DLL files into the ImageMagick folder, or you copied them from the “php_magick” kit instead.

11. Test image generation using ImageMagick in PHP

Create a PHP file in the web root, containing the following (I copied this from one of the entries in this item Verify ImageMagick installation ):

<?php
error_reporting(E_ALL); 
ini_set( 'display_errors','1');
/* Create a new imagick object */
$im = new Imagick();
/* Create new image. This will be used as fill pattern */
$im->newPseudoImage(50, 50, "gradient:red-black");
/* Create imagickdraw object */
$draw = new ImagickDraw();
/* Start a new pattern called "gradient" */
$draw->pushPattern('gradient', 0, 0, 50, 50);
/* Composite the gradient on the pattern */
$draw->composite(Imagick::COMPOSITE_OVER, 0, 0, 50, 50, $im);
/* Close the pattern */
$draw->popPattern();
/* Use the pattern called "gradient" as the fill */
$draw->setFillPatternURL('#gradient');
/* Set font size to 52 */
$draw->setFontSize(52);
/* Annotate some text */
$draw->annotation(20, 50, "Hello World!");
/* Create a new canvas object and a white image */
$canvas = new Imagick();
$canvas->newImage(350, 70, "white");
/* Draw the ImagickDraw on to the canvas */
$canvas->drawImage($draw);
/* 1px black border around the image */
$canvas->borderImage('black', 1, 1);
/* Set the format to PNG */
$canvas->setImageFormat('png');
/* Output the image */
header("Content-Type: image/png");
echo $canvas;
?>

Run this PHP file in a browser. It should display an image containing the text "Hello World!".

12. Check for errors

Check the php-errors.log file for any errors.
You can find the defined location of the php-errors.log file in the php.ini file. Check this file for any recent errors related to the ImageMagick installation.

PDF Files require Ghostscript
After installing and setting up all of the above, ImageMagick could be used in PHP to convert images, but it could not be used to convert PDF files to images. For this final step, it seemed to be necessary to also install Ghostscript - from https://www.ghostscript.com/download/gsdnld.html and it only worked correctly if I installed the 64-bit version of Ghostscript (even though everything else that I installed was the 32-bit version). Installing Ghostscript was all that was needed; no changes to php.ini or any other configuration was required.

Wednesday, November 16, 2022
1

I suggest you to create a grid and weight approach.

This answer is divided in 3 parts :

  1. Working with a virtual grid
  2. Randomly dispose image into that grid
  3. Implement transparency
Monday, October 17, 2022
 
skv
 
skv
32

How do I install the missing api-ms-win-crt-runtime-l1-1-0.dll?

This DLL is part of the Update for Universal C Runtime in Windows:

The Windows 10 Universal CRT is a Windows operating system component that enables CRT functionality on the Windows operating system. This update allows Windows desktop applications that depend on the Windows 10 Universal CRT release to run on earlier Windows operating systems.

The above link includes full installations instructions, which depend on exactly which version of Windows you have installed.

Friday, December 16, 2022
Only authorized users can answer the search term. Please sign in first, or register a free account.
Not the answer you're looking for? Browse other questions tagged :