勉強したことのメモ

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

  関連記事

バニラJS対応(jQuery非依存)の画像スライダー系プラグイン「Flickity」の利用方法
バニラJS対応(jQuery非依存)の画像スライダー系プラグイン「Flickity」の利用方法

画像スライダーを設置する場合「slick」プラグインを利用することが多い。ただ、 ...

JavaScriptにて電子書籍や漫画ビューア用のライブラリ「ToraViewer」の利用方法
JavaScriptにて電子書籍や漫画ビューア用のライブラリ「ToraViewer」の利用方法

電子書籍や漫画ビューア用を設置したい。条件としてはレスポンシブ対応していること。 ...

スマホでフォームの画像アップロード部分でカメラを起動させる方法
スマホでフォームの画像アップロード部分でカメラを起動させる方法

formの画像アップロード部分で、スマホの場合にカメラで撮影させたい。以下に対応 ...

JavaScriptにて画像をフルスクリーン表示する方法
JavaScriptにて画像をフルスクリーン表示する方法

JavaScriptにて画像をクリックするとフルスクリーン表示させたかった。ただ ...

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

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