勉強したことのメモ

webプログラマが勉強したことのメモ。

smart_resize_imageで縦横の比率関係なく、固定リサイズ

   

PHPで縦横どちらかが指定の長さを超えた場合、比率を保ったままリサイズで使ったsmart_resize_imageだけども、これを使用しているページで、やっぱ固定リサイズにしないといけないという案件があった。

プラグイン外してPHP書かなあかんなぁ、面倒やなぁと思ったけど、引数の$proportionalをfalseにすることで解決できた。

具体的には、比率保たずに固定サイズにリサイズする場合、

 

smart_resize_image(
	TMP_PATH . $tmpData['img'.$i]['name'] . $tmpData['img'.$i]['ext'],
	$width = IMAGE_WIDTH, //ここに横サイズ。このケースでは定数で指定してた。
	$height = IMAGE_HEIGHT, //ここに縦サイズ。これも定数で指定してた。
	$proportional = false,
	$output = 'file',
	$delete_original = true,
	$use_linux_commands = false,
	$quality = 100
);

 

比率を保ってリサイズする場合、

 

$imageinfo = getimagesize(TMP_PATH . $tmpData['img'.$i]['name'] . $tmpData['img'.$i]['ext']);
if ($imageinfo[0] > $resize_list[$i]['width'] || $imageinfo[1] > $resize_list[$i]['height']) { //縦横どちらかが規定サイズを超えた場合はリサイズ
	smart_resize_image(
		TMP_PATH . $tmpData['img'.$i]['name'] . $tmpData['img'.$i]['ext'],
		$width = IMAGE_WIDTH,
		$height = IMAGE_HEIGHT,
		$proportional = true,
		$output = 'file',
		$delete_original = true,
		$use_linux_commands = false,
		$quality = 100
	);
}

 

になる。比率を保つ場合は、規定サイズ超えた時だけリサイズでいいかなと思うので、if文を入れてます。

 - PHP, 画像

  関連記事

mysqldumpが使えないレンタルサーバでMySQLのバックアップ

mysqldumpが使えないレンタルサーバで開発を行うことがあり、尚且つ他社に使 ...

eval関数について

ちょくちょく見ることがあったeval関数について、 なんとなく分かってきたのでメ ...

PHPで月末日を取得

PHPファイルを触っている際に日付処理時、 date('t')というものがあって ...

MySQLでのバッククオート

phpmyadminを使っていると``←みたいな括りを見るけど これなんなん?  ...

imgタグで作成したグラフをjQueryでリアルタイムに動かす

このグラフをリアルタイムプレビューさせる。 ■サンプル http://sampl ...

PHPで%sとか%dとか

PHPで探し物していて%sとか%dとかいった記述があり 何これとなったのでメモ。 ...

フォーム管理画面テンプレPHP

<?php ini_set( 'display_errors', 0 ); ...

PHPで土日祝日及び営業時間を考慮した上で翌○営業日を計算する方法

PHPで翌○営業日を計算したい。例えば本日が2021/04/15で翌5営業日を計 ...

短縮URL作成(管理画面)2

<? /* 編集機能追加。もっと短く記述できるようにする。 */ erro ...

PHPで数値チェック

ページング情報だったりフォーム情報だったりで、 数値かどうかをチェックしたかった ...