smart_resize_imageで縦横の比率関係なく、固定リサイズ
2024/04/18
PHPで縦横どちらかが指定の長さを超えた場合、比率を保ったままリサイズで使ったsmart_resize_imageだけど、こちらを使用しているページで固定リサイズにしないといけないという案件があった。色々試すと引数の$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にてSVGファイルをjpg / png画像に変換する方法
PHPにてSVGファイルをjpgもしくはpng形式の画像ファイルに変換したいとい ...
-
-
フォームからアップロードした画像にPHPでロゴ画像(透かし)を追加する方法
フォームから送られてきた画像に対してサイトロゴみたいなロゴ画像を右下等、指定の位 ...
-
-
PHPで画像アップロード、リサイズ、形式変換(jpg->webp等)はclass.upload.phpが便利
今までPHPで画像関連の処理を行う場合、リサイズの時のみsmart_resize ...
-
-
FLASHから受信した画像をPHPで保存し、サムネイルも作る
■参考サイト ・FLASH http://www.ilovex.co.jp/bl ...
-
-
PHPでjpg / png画像をWebP画像に変換し保存する方法
PHPでjpg / png画像を圧縮したかった。ただjpg / pngのままだと ...