Laravel中使用Intervention Image添加水印的字体大小问题
解决Intervention Image文字水印字体尺寸无法调大的问题
你当前代码里已经设置了$font->size(75);,但字体没变大,大概率是未指定自定义字体文件导致的——Intervention Image默认使用的内置字体可能在大尺寸下渲染异常,或者显示效果不符合预期。
解决步骤:
- 准备一个支持大字号的TrueType字体文件(比如
NotoSansSC-Bold.ttf),将其放到Laravel项目的public/fonts/目录下(无此目录则新建)。 - 在字体配置中指定该字体文件路径,同时按需调大
size参数值。
修改后的代码示例:
Image::make($avatar) ->text($store['watermark_text'], 120, 100, function($font) { // 指定自定义字体路径 $font->file(public_path('fonts/NotoSansSC-Bold.ttf')); // 按需调整字体尺寸,数值越大字体越大 $font->size(90); $font->color($_POST['colorr']); $font->align('left'); $font->valign('bottom'); $font->angle(90); })->save(public_path('/store/products/'.$filename));
额外排查点:
- 确认图片尺寸足够容纳大字体,避免字体超出图片范围导致无法显示;
- 清理浏览器缓存或直接查看服务器生成的图片,排除缓存造成的视觉误差。
内容的提问来源于stack exchange,提问作者kiana.ka
相关产品推荐
相关产品推荐

