干预图像:平铺文本水印

Intervention Image: Tile text watermark

我在 Laravel 5.3 中使用 Intervention Image 进行图像处理,我想为图像添加平铺文本水印。

示例:

$img = Image::make(storage_path('app'.DIRECTORY_SEPARATOR.'public'.DIRECTORY_SEPARATOR.$media->file_path));
// use callback to define details
$width = $img->width();
$height = $img->height();

        $data = $img->text($watermark, 15, 25, function($font) {
                    $font->file(public_path('../fonts/Xerox Serif Wide.ttf'));
                    $font->size(36);
                    $font->color(array(0,0,0, 0.3));
                    $font->align('center');
                    $font->valign('top');
                    $font->angle(45);
                })

但它不起作用,它在给定的角度放置了一条线,因为我希望重复文本直到它到达图像的末尾。

谢谢。

我不知道你是否还需要它:) 无论如何我做到了。 但让用户填充文本和角度之间的填充 x、y

    $x = 0;

 while ($x < $image->width()) {
       $y = 0;

       while($y < $image->height()) {

         $image->text($watermark->text_text, $x, $y, function($font) use($watermark,$colorhsva,$fontn) {
                     $font->file(public_path('fonts/'.$fontn));
                     $font->size($watermark->text_font_size);
                     $font->color($colorhsva);
                     $font->align($watermark->text_align);
                     $font->valign($watermark->text_valign);
                     $font->angle($watermark->text_angle);
                 });


             $y += $watermark->text_distanceyposition;
       }

       $x +=$watermark->text_distancexposition;
 }

同时 text_text = "the user text"

fontn = 用户 select

的字体

$watermark->text_distanceyposition = y padding form each repeat

$watermark->text_distancexposition = x 填充形式每次重复

colorhsva = 颜色数组 RGBA;

$watermark->text_angle = 角度 30 在你的情况下

希望对您有所帮助