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

phpで、画像を縮小する方法を探しています。

例えば、phpでhtml出力するときに

<img src="xxx">

と出します。
このxxxは、他サイトの画像URLです。

この他サイトの画像を、縮小表示することは可能でしょうか?


画像縮小についていろいろ見ていると、
縮小した画像を保存し、それをxxxの部分のURLに置き換えて表示する、という方法ができそうです。

だけど、できれば、画像を保存しないで、縮小してそのまま表示したいと思っています。

実現できる方法がありましたら、お願いします。


●質問者: onigirin
●カテゴリ:ウェブ制作
✍キーワード:HTML PHP サイト 画像
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● Mook
●10ポイント

HTMLタグリファレンス IMG


width と height で大きさを指定できますが、それではだめでしょうか。

◎質問者からの返答

どうもありがとうございます。

すいません。言葉が足りませんでした。

画像の大きさを擬似的に縮小して表示するのではなく、

画像サイズそのものを縮小したいと思っています。


2 ● GEN111
●40ポイント
<?php
$img = 'http://www.hatena.ne.jp/images/top/h1.gif' ; // 読み込む画像のアドレス

$size = 100 ; // リサイズするサイズ (大きい方の幅をこれに合わせる)

if (!($irc = @imagecreatefromjpeg($img))) // jpeg として読み込んでみる
 if (!($irc = @imagecreatefrompng($img))) // png として読み込んでみる
 $irc = @imagecreatefromgif($img) ; // gif として読み込んでみる

if (!$irc) {
 // 画像が正しく読み込めなかったときの処理
 echo '×' ;
 exit ;
}

if (imagesx($irc) > imagesy($irc)) {
 $rrc = imagecreate($size, $size * imagesy($irc) / imagesx($irc)) ;
} else {
 $rrc = imagecreate($size * imagesx($irc) / imagesy($irc), $size) ;
}

imagecopyresampled($rrc, $irc, 0, 0, 0, 0, imagesx($rrc), imagesy($rrc), imagesx($irc), imagesy($irc)) ;

// jpgeg 画像として出力
header('Content-type: image/jpeg') ;
imagejpeg($rrc) ;
?>

こんな感じですかね。

◎質問者からの返答

どうもありがとうございます。

画質がアレだったのですが、trueのほうにしたら無事キレイになりました。

あとは適当にキャッシュさせれば、スピードあがる、ということですね。


3 ● Yota
●40ポイント

いまひとつ質問の趣旨がわかりませんが、他サイトの画像(png)を持ってきて縮小する。(ファイルサイズも小さくなると思う)

$filename = 'http://tasaito/gazou.png';

$percent = 0.5 ;

header('Content-type: image/png');

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

$newwidth = $width * $percent;

$newheight = $height * $percent;


$thumb = imagecreatetruecolor($newwidth, $newheight);

$source = imagecreatefrompng($filename);

imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);

imagepng($thumb);

php.iniの設定。

allow_url_fopen = On

◎質問者からの返答

どうもありがとうございます。

GEN111さんのものと組み合わせて、うまく表示できました。

携帯電話で自分のサイト見たときに、ドデカイ画像ばかりなので、小さく変換するようにしたかった感じです。

他サイト、でなくても仕組みは同じですね・・・。

関連質問


●質問をもっと探す●



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