0
0

More than 1 year has passed since last update.

php imagick 背景画像を繰り返す

Posted at

タイトルの通り
laravel を利用。

hoge.php
        //背景画像を用意
        //576 x 320
        $bg = new \Imagick(public_path('/img/twitter-bg2.png'));
        
//        背景画像を繰り返し描写
        $x = 0;
        $y = 0;
        $i = 0;
        $s = 0;
        while($s < 50){

            //        リモート画像でもOK
            //64 x 64 で リピートさせたい画像を用意
            $icon = new \Imagick(public_path('/img/bk3.png'));
            $bg->compositeImage($icon, $icon->getImageCompose(), $x, $y); //画像を重ねる x , y

            $i++;
            $x += 64;

            if($i == 9){
                $i = 0;
                $x = 0;
                $y += 64;
            }

            $s++;
        }


        $title = "本日は晴天なり";
        $body = "いつもDMありがとうございます。\nいま大学生で、奨学金で通っていて金欠です。\n切実にカバーしていただける方と出会いたいです。\nまじでよろしくお願いします。\n早めにによろしくお願いします。";
        $water = "いつもDMありがとう\n@ma7ma7pipipi♡";

//        タイトルを描写
        $text = new \ImagickDraw();
        $text->setFont(resource_path("/any/font/SourceHanSansHW-Bold.otf"));
        $text->setFillColor('#000'); // black

        //テキスト描画設定を含む ImagickDraw オブジェクト。x,y,角度,描画するテキスト
        $text->setGravity(\Imagick::GRAVITY_NORTH);//文字トップ 上寄せ
        $text->setFontSize(24);
        $bg->annotateImage($text, 0, 22, 0, $title);


//        本文を描写
        $text->setFontSize(16);
        $text->setTextInterlineSpacing(10);//行間
        $bg->annotateImage($text, 0, 88, 0, $body);

        $text2 = new \ImagickDraw();
        $text2->setFont(resource_path("/any/font/SourceHanSansJP-VF.otf"));

        $text2->setFillColor('#000'); // black
        $text2->setFontSize(12);
//        $text2->setTextInterlineSpacing(10);//行間
        $text2->setGravity(\Imagick::GRAVITY_SOUTHEAST);//文字トップ 上寄せ
        $bg->annotateImage($text2, 15, 20, 0, $water);
        $bg->writeImage(public_path('new_sample3.png'));

        $text->clear();
        $text->destroy();
        $text2->clear();
        $text2->destroy();
        $bg->clear();
        $bg->destroy();


とりあえず、コピペで動くでしょう。

new_sample3 (2).png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0