
phpでウェブ上にある画像リンクから画像を自分のサーバーに保存するときに、決まった大きさにして保存したいのですが、どうやってやればいいかわかりません。
保存したい画像は決まったサイズでもなく、縦横比もそれぞれ違います。
これを決まったサイズ&縦横比も合わせたいと考えています。
例えば、
設定したいサイズ:(縦)500px - (横)500px
元の画像A:(縦)1000px - (横)1000px
元の画像B:(縦)1000px - (横)700px
画像Aであれば、縦横を半分にするだけなので簡単にできるのですが、
画像Bを500px - 500pxのサイズにするのですが、縦横比を維持したままにしたいです。余白は設定した色にする。
なので、
(縦)500px - (横)350px
のサイズにして、左右中央に設置して余白は背景色を設定して、
(縦)500px - (横)500px
のサイズにしたいのです。
どうすれば良いか分からず困っています。
ご教授お願いします。
No.1ベストアンサー
- 回答日時:
こんなかんじ?
<?PHP
newimage("src.jpg","new.jpg",50,50);
function newimage($src_filename,$new_filename,$new_width,$new_height)
{
$src_img=imagecreatefromjpeg($src_filename);
list($src_width, $src_height) = getimagesize($src_filename);
$src_ratio=$src_width/$src_height;
$new_ratio=$new_width/$new_height;
if($src_ratio>$new_ratio){
$dst_width=$new_width;
$dst_height=$new_height/$src_ratio;
$dst_x=0;
$dst_y=($new_height-$dst_height)/2;
}else{
$dst_height=$new_height;
$dst_width=$new_width*$src_ratio;
$dst_x=($new_width-$dst_width)/2;
$dst_y=0;
}
$new_img = imagecreatetruecolor($new_width,$new_height);
$backgroundcolor = imagecolorallocate($new_img, 255, 255, 255);
imagefill($new_img, 0, 0, $backgroundcolor);
imagecopyresized($new_img,$src_img,$dst_x,$dst_y, 0, 0, $dst_width, $dst_height, $src_width, $src_height);
imagejpeg($new_img,$new_filename);
imagedestroy($new_img);
exit;
}
?>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
拡張子php画像をjpg画像等に変...
-
VBAでJPGサイズ変更
-
imagejpegで表示されない。
-
Illustratorで文字と画像を流し...
-
VBSの「MsgBox」について
-
phpのheader("Location:#pos")...
-
*.php、*.php3、*.phtmlの違い
-
Warning: Invalid argument sup...
-
データ送信をボタンを押さずに...
-
zip圧縮の種類について
-
asp.netのクラスについて
-
PHP プルダウンからの選択 ペ...
-
<A href ~ と一緒に値を渡すには
-
phpをpsqlへ接続しようとするの...
-
header(Location:~)で$_SESS...
-
phpのextension_dirを複数指定...
-
fsockopenを使った証明書付きの...
-
phpのftp_get()でエラーが出ます。
-
コンボボックスとの連携
-
【PHP】tmp_nameの命名規約につ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBSの「MsgBox」について
-
SQLiteに画像を格納したい
-
拡張子php画像をjpg画像等に変...
-
Illustratorで文字と画像を流し...
-
手作業で埋め込んだ、UserForm1...
-
PythonのTkinter詳しい方へ。画...
-
VBAでJPGサイズ変更
-
pictureboxに表示した画像のフ...
-
「imagejpeg」(GD)で作成した...
-
VBAのコードを教えてください
-
C#とJavaで、MP3タグの画像を表...
-
透過PNGが透過されない!!
-
phpMyAdminに画像を保存できない
-
PHP getimagesize();
-
wordpressサイトにて、画像ウィ...
-
libpngでpng操作がうまくいかない
-
Wordpressの条件で複数画像を表...
-
'member_picture/'に/がありま...
-
php,mysqlにて画像パス保存/表...
-
DBからPHP出力された画像の情報...
おすすめ情報