php - 文本行匹配框的透明背景颜色(填充颜色)
问题描述
我正在用 pdflib 和 php 创建名片。我正在使用 PDFLib 9.0.6p4 for Mac 和 PHP 版本 5.6。有一个显示文本的背景图像。为了让它可读,我想为我的文本设置一些背景颜色。设法用火柴盒和填充颜色做到这一点。我的火柴盒有可能有透明的填充颜色吗?
已经尝试将透明的 rect() 作为文本而不是火柴盒的背景,但它不起作用,因为在打印文本之前我不知道高度和宽度。
... $textline = "马克斯·穆斯特曼"; $p->保存(); $gstate = $p->create_gstate("opacityfill=.8"); /* 应用扩展图形状态 */ $p->set_gstate($gstate); # 将文本放在右上角的框中 $optlist = "position={top left} showborder matchbox={ boxheight={fontsize descender} borderwidth=0.3 offsetleft=-2 offsetright=2 offsetbottom=-2 fillcolor=green}"; $p->fit_textline($textline, $x, $y-=$yoff, $optlist); # 示例文本 $p->fit_textline($optlist, $xt, $y + 3, "fontsize=12"); # 描述 $p->恢复(); ...
不幸的是,这并没有为文本带来透明背景颜色的预期效果。
解决方案
您非常接近:您应该将gstate句柄添加到匹配框选项列表(简化情况):
$gstate = $p->create_gstate("opacityfill=.8");
$optlist = "matchbox={ fillcolor=green gstate=$gstate}";
$p->fit_textline($textline, $x, $y-=$yoff, $optlist);
推荐阅读
- react-native - 运行在不同端口上的 Docker localhost 和 React Native Metro 服务器可以通信吗?
- eigen3 - 将返回变量写入外部数据
- sql - 如何在mssql服务器中传递参数,中间有斜线
- r - 整洁的评估:如何在依赖 %>% 管道的自定义函数中使用 dplyr::na_if 作为可选参数
- javascript - 不同网页的 ID 值相同
- python - 如何在迭代时同时达到两个变量的某个值?
- c# - 使用允许排序和允许自动筛选 C# 保护 Excel
- python - Python / MatplotLib / Tkinter 中 PolygonInteractor / LineBuilder 之间的不同行为
- reactjs - React Redux 在页面路由上中断
- java - spring boot中的参数有什么区别?