You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Codeigniter 4设置水印fontSize不生效 字体大小无法调整问题

问题原因

Codeigniter官方文档标注:「fontSize为所用字体的尺寸,当GD驱动搭配系统字体使用时,有效值范围为1-5」

你当前未指定自定义字体,系统默认调用GD内置的点阵系统字体,该字体本身最大仅支持5号尺寸,无论设置多大的fontSize值都不会生效,也无法实现铺满全宽的水印效果。

解决方法
  • 准备TTF格式的自定义字体文件(如开源思源黑体、微软雅黑等),存放到项目可读取的目录中,例如app/Fonts/simhei.ttf
  • 在text方法的配置参数中新增fontPath参数,指向自定义字体的绝对路径,此时fontSize的单位将自动切换为像素,支持任意大小的自定义设置
修正后代码示例
$image = \Config\Services::image()
->withFile($img)
->text('Bsth copyright', [
   'color'      => '#5fcf98',
   'opacity'    => 0.1,
   'withShadow' => false,
   'hAlign'     => 'center',
   'vAlign'     => 'center',
   'fontSize'   => 90, // 此时单位为像素,可根据图片宽度调整到铺满的尺寸
   'fontPath'   => APPPATH . 'Fonts/simhei.ttf' // 替换为你实际的字体文件路径
])
->save('upload/' . $files[$i]);
注意事项
  • 优先使用绝对路径指定字体文件,避免相对路径导致的文件读取失败
  • 确保服务器PHP的GD库已开启FreeType支持,否则无法渲染自定义TTF字体

内容的提问来源于stack exchange,提问作者Abrar Mansouri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 19:36:05