干预图像:平铺文本水印
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 在你的情况下
希望对您有所帮助
我在 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 在你的情况下
希望对您有所帮助