我在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);
})
但是它不起作用它会给出一个给定角度的单行,因为我希望重复文本直到它到达图像的末尾。
感谢。
答案 0 :(得分:0)
我不知道你是否仍然需要它:)无论如何我做到了。 但要让用户在文本和角度之间填充填充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 =“用户文字”
fontn =用户选择的字体
每次重复$ watermark-&gt; text_distanceyposition = y填充表单
每次重复$ watermark-&gt; text_distancexposition = x填充表单
colorhsva = color array RGBA;
$ watermark-&gt; text_angle =你的情况下的角度
希望它会帮助你