PHP 5.4.33 Released

Imagick::__construct

(PECL imagick 2.0.0)

Imagick::__constructLe constructeur Imagick

Description

Imagick::__construct ( mixed $files )

Crée une instance Imagick pour une image spécifique ou pour un jeu d'images.

Liste de paramètres

files

Le chemin jusqu'à l'image à charger, ou un tableau de chemins. Ils peuvent inclure des jokers dans les noms des fichiers, ou peuvent être des URLs.

Valeurs de retour

Retourne un nouvel objet Imagick, en cas de succès.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

add a note add a note

User Contributed Notes 3 notes

up
5
martin at lks dot com
2 years ago
If you are using windows imagemagick, at leat in my case, you have to include the full path of the file, including the 'c:' at the beginning. If you don't know for sure the way that the filename is going to come, you can use realpath() function to normalize it:

<?php
    $incoming_file
= '/Users/John/Desktop/file_loco.jpg';
   
$img = new Imagick(realpath($incoming_file));
   
// realpath() will convert '/Users/John/Desktop/file_loco.jpg' to 'C:\Users\John\Desktop\file_loco.jpg'
    // and ImageMagick will have no trouble when loading
?>
up
0
Jerome
9 months ago
you can use PDF page as image. To do that, install ghostscript libraries.
IMagick use ghostscript to read PDF page.

<?php
$myurl
= '/pdf/mypdf.pdf';
$image = new Imagick(realpath($myurl).'[0]'); //[0] indicate the number of the wanted page
$image->setResolution( 300, 300 );
$image->setImageFormat( "png" );
$image->writeImage(realpath('./mypdf.png'));
?>
up
-1
andyearnshaw at do-not-spam-mygmail dot com
1 year ago
If you try and load an ICO file whose extension isn't .ico, you'll get an error going along the lines of no delegate existing for the supplied image's format.  The can occur, for example, if you're using a temporary file.

<?php
$tmp
= tempnam('cache/images', 'ico_');

if (
copy('http://remote.url/favicon.ico', $tmp)) {
   
$ico = new Imagick($tmp);  // <-- ERROR!
}
?>

Your first thought might be to rename your temporary file's extension to .ico, but I decided to try something that works on the command line―prefix the file name with 'ico:'

<?php
$tmp
= tempnam('cache/images', 'ico_');

if (
copy('http://remote.url/favicon.ico', $tmp)) {
   
$ico = new Imagick("ico:$tmp");  // <-- Works great!
}
?>
To Top