使用FPDF(PHP)插入带alpha通道的PNG

Rap*_*tor 4 php png fpdf

在FPDF的官方文档中,它表示PNG不支持alpha通道.

有没有解决方法?

qua*_*een 5

如果需要在另一个图像上放置透明图像:请使用PHP内置函数将一个图像复制到另一个图像上。然后,您将得到一张包含两个图像的新图片。另存为非alpha png,然后插入。

这里有一个例子在这里的图像合并所需要的代码。

如果希望文本在图片下可见:首先插入图片,然后将文本写到文档中。


Cem*_*men 5

尝试FPDF的这个扩展:

http://valentin.dasdeck.com/php/fpdf/fpdf_alpha/

页面简短说明:

此脚本允许使用带alpha通道的图像(PNG或JPG).alpha通道可以作为单独的8位PNG("掩码")提供,或者对于PNG,也可以使用内部alpha通道.对于后者,需要GD 2.x扩展名.

指定单独的蒙版图像有几个优点: - 不需要GD. - 更好的质量(完整的8位alpha通道,而GD内部仅支持7位alpha通道) - 速度更快(嵌入式alpha通道的提取必须以像素方式完成)

function Image(字符串文件,float x,float y [,float w [,float h [,string type [,mixed link [,boolean isMask [,int maskImg]]]]]])

与原始Image() - 方法相同的参数,带有2个附加(可选)参数:isMask:如果指定且为true,则图像用作其他图像的掩码.在这种情况下,将忽略参数x,y,w和h,并且屏幕图像本身在页面上不可见.maskImg:图像资源的数量(由先前调用的Image()返回,isMask参数设置为true),将用作此图像的掩码.

function ImagePngWithAlpha(string file,float x,float y [,float w [,float h [,mixed link]]])

与原始Image() - 方法的参数相同,但没有类型参数.