エルシャダイ背景

エルシャダイが画像公開

エルシャダイが画像公開した記事を見て、ちょうど先日ブログのタイトル画像を作っていたのでその流れで採用してみようと思います。 ちなみにエルシャダイはやったとこありません。大丈夫だ、問題ない。

Overview

  • エルシャダイの画像をDLして配置
  • ランダムで取得
  • (追記)リサイズしてサイズ感合わせる
  • (追記)半透過でマスクして少し文字を見やすくする。

Input

Proccess

ひとまず穴あけ

$img = imagecreate($imageareaWidth,$imageareaHeight);
↓
$img = imagecreatefromjpeg('./elshaddai/e3_luciferpv_1080012.jpg');


header('Content-Type: image/png');
↓
header('Content-Type: image/jpeg');


imagepng($img);
↓
imagejpeg($img);

なんとなく想像はついていたけど・・・

穴あけした段階で「あ。これ思ったよりエルシャダイ一色だ」と思ったんですが、せっかくなので先にすすめることしました。

ファイルをランダムで取得

100以上の画像を提供してくださっているので背景塗りつぶしの時とコンセプトは一緒でランダムにします。

$imagesearch = IMAGE_DIR . 'background/*.jpg';
$files = glob($imagesearch);
if($files && count($files) > 0){
    $img = imagecreatefromjpeg($files[mt_rand(0,(count($files)-1))]);
}else{
    $img = imagecreate($imageareaWidth,$imageareaHeight);
}


画像リサイズ

フォントとのサイズ感(800,400)で合わせていたのでサイズ感が合いません。 リサイズします。

そのままのサイズだど、相対的に文字ちっさくなります。 resizebefore.png

$imagesearch = IMAGE_DIR . 'background/*.jpg';
$files = glob($imagesearch);
if($files && count($files) > 0){

    $background = $files[mt_rand(0,(count($files)-1))];
    $srcimg = imagecreatefromjpeg($background);

    list($srcWidth, $srcHeight, $imagetype, $imageattr) = getimagesize($background);
    $dstimg = imagecreatetruecolor($imageareaWidth, $imageareaHeight);

    imagecopyresampled($dstimg, $srcimg,
        0, 0, 0, 0,
        $imageareaWidth, $imageareaHeight, $srcWidth, $srcHeight );
    imagedestroy($srcimg);
    $img = $dstimg;

}else{

    $img = imagecreate($imageareaWidth,$imageareaHeight);

}

そそ、こんな感じです。 resizeafter.png

エルシャダイすぎる

after1.png もうなんだかエルシャダイ一色でしか無いwそれも組み合わせによってはなんだかBLサイトぽくもみえる。。。あと、画像の色が全面過ぎて前景色が埋まってしまう。
前に実装していた塗りつぶしを活かしては透過させてエルシャダイ感をなくすことにしました。

$imagesearch = IMAGE_DIR . 'background/*.jpg';
$files = glob($imagesearch);
if($files && count($files) > 0){

    $background = $files[mt_rand(0,(count($files)-1))];
    $srcimg = imagecreatefromjpeg($background);

    list($srcWidth, $srcHeight, $imagetype, $imageattr) = getimagesize($background);
    $dstimg = imagecreatetruecolor($imageareaWidth, $imageareaHeight);
    imagecopyresampled($dstimg, $srcimg,
        0, 0, 0, 0,
        $imageareaWidth, $imageareaHeight, $srcWidth, $srcHeight );
    imagedestroy($srcimg);
    $img = $dstimg;

    // マスク用画像の作成
    $imgMask = imagecreatetruecolor($imageareaWidth,$imageareaHeight);
    $backcolor = imagecolorallocate($imgMask,
        mt_rand($backcolorCodeMin, $backcolorCodeMax),
        mt_rand($backcolorCodeMin, $backcolorCodeMax),
        mt_rand($backcolorCodeMin, $backcolorCodeMax));
    imagefill($imgMask, 0, 0, $backcolor);
    imagecopymerge($img, $imgMask,
        0, 0, 0, 0,
        $imageareaWidth, $imageareaHeight, 75); // 75%不透明で
    imagedestroy($imgMask);

}else{

    $img = imagecreate($imageareaWidth,$imageareaHeight);

}

エルシャダイ感は消えませんでした。むしろ、なんかパステルカラーかぶせたらエロい(苦笑

Output

before.png ↓↓↓↓↓↓↓↓↓↓↓
なんか、エルシャダイ一色になりました。
after.png


  • ソフトウェア開発データ白書 Next