勉強したことのメモ

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->webp等)はclass.upload.phpが便利

今までPHPで画像関連の処理を行う場合、リサイズの時のみsmart_resize ...

FLASHから受信した画像をPHPで保存し、サムネイルも作る

■参考サイト ・FLASH http://www.ilovex.co.jp/bl ...

PHPでファイル書き込み時に「failed to open stream: HTTP~~」エラー

PHPでファイルを書き込む際に「failed to open stream: H ...

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

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

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

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