人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

phpで画像を縮小するときに、出来るだけ劣化させないで
縮小する方法はありますでしょうか。
宜しくお願いします。

現状
$src=@imagecreatefromjpeg(test.jpg);
$dst=imagecreatetruecolor(100,120);
imagecopyresized($dst,test.jpg,0,0,0,0,100,120,200,240);
imagejpeg($dst,test.jpg);

環境
fedora7
apache
php
mysql

●質問者: 和食器屋koba
●カテゴリ:ウェブ制作
✍キーワード:.jpg Apache MySQL PHP SRC
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● cyndy
●40ポイント ベストアンサー

わたしは下記の方法でデジカメの画像を幅400ピクセルに縮小しています。

ファイルサイズはだいたい30キロバイト以下ですが

そんなに劣化してる印象はありません。よければ参考にしてみてください。

list($width, $height) = getimagesize($tmp_name);

//幅を400ピクセルに縮小

$newheight = abs(400 * $height / $width);

//空の画像を作成

$image_p = imagecreatetruecolor(400, $newheight);

//元の画像をコピー

$image = imagecreatefromjpeg($tmp_name);

//サイズ変更

imagecopyresampled($image_p, $image, 0, 0, 0, 0, 400, $newheight, $width, $height);

//ダミ

http://www.yahoo.co.jp/

imagejpeg($image_p, SAVE_PHOTO_PATH."$name");

◎質問者からの返答

ご指導していただいた通りの方法で

劣化することなく処理することができました。

ありがとうございました。


2 ● pahoo
●35ポイント

PHPのイメージ関数の能力にご不満でしたら、外部プログラムを呼び出してはいかがでしょうか。

たとえば ImageMagick の convert をお勧めします。Linux / Windows で動きます。

◎質問者からの返答

ありがとうございます。

大変参考になりました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ