勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

PHPで画像にモザイクをかけて保存

   2024/01/12  PHP

やりたかった事はPHP

・モザイク処理
・元の画像とは別にファイル名をつけて保存
・jpgだけでOK

■参考サイト
http://pentan.info/php/sample/img_mosaic.html

■ソース
<?
$mosaic = 5; //モザイクの程度を設定
$path = './img/dog.jpg';

list($img_width,$img_height,$type)=getimagesize($path);
if(!($src=imagecreatefromjpeg($path))){
header("Content-Type: image/jpeg");
readfile($path);
}

//モザイク処理
$img_width_m = intval($img_width/$mosaic);
$img_height_m = intval($img_height/$mosaic);
$dst_m=imagecreatetruecolor($img_width_m,$img_height_m);
imagecopyresampled($dst_m,$src,0,0,0,0,$img_width_m,$img_height_m,$img_width,$img_height);
$dst=imagecreatetruecolor($img_width,$img_height);
imagecopyresampled($dst,$dst_m,0,0,0,0,$img_width,$img_height,$img_width_m,$img_height_m);

imagejpeg($dst,'./img/dogs.jpg');//別名で保存
?>

縮小して拡大するだけでモザイクがかかるというのは驚き。
$mosaicの値を変えるとモザイクの程度も変わるので、
面白いものが作られそう。

 - PHP

  関連記事

PHPでjpg / png画像をWebP画像に変換し保存する方法

PHPでjpg / png画像を圧縮したかった。ただjpg / pngのままだと ...

PHPで縦横どちらかが指定の長さを超えた場合、比率を保ったままリサイズ

PHPで縦横どちらかが指定の長さを超えた場合、 比率を保ったままリサイズしたかっ ...

PHPで画像を上下反転させ保存する

やりたかった事は、下記の通り。 ・既にフォルダに保存されている画像を上下反転させ ...

PHPで画像のフォーマット(拡張子)の変換

画像のアップロードでjpg/png/gif形式を受け付けつつ、 最終的にjpgで ...

formのinput="file"でディレクトリを選択させ、ディレクトリ内のファイルを全てアップロードする方法

フォームで複数のファイルをアップロードしたい場合、input="file"を複数 ...