在PDFlib中提供填充和描边颜色时,是否可以设置alpha通道的值?
$p->setlinewidth(20);
$p->setcolor('fill', 'rgb', 1, 0, 0, null);
$p->setcolor('stroke', 'rgb', 0, 1, 0, null);
$p->rect(0, 0, 100, 100);
$p->fill_stroke();
是否可以使矩形的红色填充和粗绿色边框变为半透明?
答案 0 :(得分:1)
是否可以使矩形的红色填充和粗绿色边框变为半透明?
确定,请使用GState执行此任务。您可以在PDFlib食谱中找到完整的示例代码:Transparent Graphics
/* Save the current graphics state. The save/restore of the current
* state is not necessarily required, but it will help you get back to
* a graphics state without any transparency.
*/
$gstate = $p->create_gstate("opacityfill=.5 opacitystroke=.5");
$p->save();
$p->set_gstate($gstate);
$p->setlinewidth(20);
$p->setcolor('fill', 'rgb', 1, 0, 0, null);
$p->setcolor('stroke', 'rgb', 0, 1, 0, null);
$p->rect(0, 0, 100, 100);
$p->fill_stroke();
$p->restore();
要生成强大的路径,可以使用Path对象。请参见PDFlib 9.2文档以及PDFlib Cookbook - path objects中的示例。