この際なので色々とGDを触ってみようと思って画像をぼかしてみようと思った。
そこで上から左右にランダムなドット数でズラしていけばそれっぽくなるんじゃないかと思って作ってみた。
$filename = "foo.jpg";
$level = "3";
// 画像情報を取得
$imginfo = getimagesize($filename);
// 出力先
$dstim = imagecreatetruecolor($imginfo['0'], $imginfo['1']);
// 白で塗りつぶす
$white = imagecolorallocate($dstim, 0xFF, 0xFF, 0xFF);
imagefill($dstim, 0, 0, $white);
$image = imagecreatefromjpeg($filename);
// ズラす
//$imagep = ImageRotate($image, $angle, $margincolor);
for( $i = 0; $i < $imginfo['1']; $i++ )
{
// 揺らぎ生成
$lag = rand(-$level, 0);
if( ($i % 2) == "0" )
{
$lag = rand(0, $level);
}
// 生成
imagecopy($dstim, $image, -3, $i+$level, $lag, $i+$level, $imginfo['0']-$level, $imginfo['1']);
}
header("Content-Type: image/jpeg");
imagejpeg($dstim, null, 100);
関連記事