サーチ…


最初のステップ

インストール

Debianベースのシステムでaptを使う

sudo apt-get install php5-imagick

OSX / macOsでHomebrewを使う

brew install imagemagick

brewメソッドを使用してインストールされた依存関係を表示するには、 brewformulas.org/Imagemagickを参照してください。

バイナリリリースの使用

imagemagickウェブサイトの指示。

使用法

<?php

$imagen = new Imagick('imagen.jpg');
$imagen->thumbnailImage(100, 0); 
//if you put 0 in the parameter aspect ratio is maintained

echo $imagen;

?>

イメージをbase64文字列に変換する

この例は、イメージをBase64文字列( imgタグのsrc属性で直接使用できる文字列)に変換する方法です。この例では、特にImagickライブラリを使用しています(他にもGDなどがあります)。

<?php
/**
 * This loads in the file, image.jpg for manipulation. 
 * The filename path is releative to the .php file containing this code, so
 * in this example, image.jpg should live in the same directory as our script.
 */
$img = new Imagick('image.jpg');

/**
 * This resizes the image, to the given size in the form of width, height.
 * If you want to change the resolution of the image, rather than the size
 * then $img->resampleimage(320, 240) would be the right function to use.
 *
 * Note that for the second parameter, you can set it to 0 to maintain the
 * aspect ratio of the original image.
 */
$img->resizeImage(320, 240);

/**
 * This returns the unencoded string representation of the image
 */
$imgBuff = $img->getimageblob();

/**
 * This clears the image.jpg resource from our $img object and destroys the
 * object. Thus, freeing the system resources allocated for doing our image
 * manipulation.
 */
$img->clear(); 

/**
 * This creates the base64 encoded version of our unencoded string from
 * earlier. It is then output as an image to the page.
 * 
 * Note, that in the src attribute, the image/jpeg part may change based on
 * the image type you're using (i.e. png, jpg etc).
 */
$img = base64_encode($imgBuff);
echo "<img alt='Embedded Image' src='data:image/jpeg;base64,$img' />";


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow