280W =終焉の宴=

1234567891011121314151617181920212223242526272829
::
Home > PHP - ImageMagick @ Fedora

PHP - ImageMagick @ Fedora

投稿者:nanariya
投稿日時:2011-09-26 - 02:44:48
カテゴリ:šLinux - トラックバック:No Trackbacks)
いわゆるPECL/imagick
ひっさびさに書きますょ。
PHPとかLinuxとかを扱うので
そんな方は以下からどーぞ

このwww.280w.info
実はDocomoやSoftbank携帯からの閲覧に対応してます。
が、使ってるスキンだと画像がでなく、
文字だけなのでちょっと寂しい。

つーわけで画像縮小表示を実装しました。
携帯から見ると横幅200Pixelに縮小された画像を見ることができます。多分。

=====================================

で、ImageMagick。
インストール手順と失敗の道を以下に簡単に説明。
imagickモジュールのインストールです。

[ 1 ] PECLでインストールしよう
# pecl install imagick
(以下略)
sh: phpize: command not found
ERROR: `phpize\' failed

( ゚д゚)

( ゚д゚ )

[ 2 ] phpizeをインストールしよう
# yum install php-devel
Installing:
php-devel ... (略)

Is this ok [y/N]: y
(略)
Complete!

phpizeインストール完了の模様。

[ 3 ] ここでPECLインストールしようと思っても、またエラー。
 なぜかわからんが、Wand-configねーよバーローと怒られる。
 つーわけで、Wand-configのインストール。

# yum install ImageMagick-devel
これもy。

Complete!

無駄に他のパッケージインストールされるのが気に食わないけどn

[ 4 ] とりあえず、peclのキャッシュクリア
# pecl clear-cache

[ 5 ] imagickのインストールをもう一度。
# pecl install imagick
(略)
install ok: channel://pecl.php.net/imagick-2.0.1
You should add \"extension=imagick.so\" to php.ini

[ 6 ] /etc/php.ini に extension=imagick.so の行を追加
 追加場所は適当に上の方のあいてる場所に入れた。


これでインストールは終わり。
適当にphpスクリプトを作成し、

あたりでphpinfoを確認。
imagickがあればOK。

=====================================

次に実装方法。
今回は単純に画像の縮小表示。
携帯向けに横幅は200ってことで勝手に決めた。
縦幅を0にすれば自動で決めてくれます。
(すなわちアスペクト比維持)
テストコードは下のアレゲ。

$image = new Imagick(\"test.jpg\");
$image->thumbnailImage(200, 0);

header(\"Content-type: image/jpeg\");
echo $image;

このままじゃまともに使えないし、
GETやPOSTパラメータなどクライアントからのデータを
そのままファイル名に渡すような真似だけはやめましょう。
いろんな攻撃に遭う可能性があります。

そして出力されるのが以下の画像。
縮小テスト

これが元画像
元画像

こんな感じです。
文字入りの画像なんかは、GDより見やすい模様。
ほんとはリサンプリングのアルゴリズム選びたいが、
まだ未対応なのかな?
現状これで満足してるのでOKということです。

それではまた。

Comments

No comments yet

Add Comments