在PHP应用场景下,有时会接触到图片处理的情况,包括图片缩放、图片叠加等情况,常用到的方法大致有imagecreatetruecolor(创建画布)、imagecopyresampled(缩放图片)、imagecopymerge(合并图片)等。但工作中遇到,将PNG图片进行缩放后,叠加多张图片时,会发现一个问题,就是PNG原本的透明背景被转变成了黑色,经过摸索,找到了一下解决方法:
<?php
// 1.创建画布
$image = imagecreatetruecolor(400, 400);
// 2.上色
$color = imagecolorrallocate($image, 255, 255, 255);
// 3.设置成透明
imagecolortransparent($image, $color);
// 4.填充
imagefill($image, 0, 0, $color);
经过以上步骤再进行imagecopyresampled和imagecopymerge就不会出现这样的问题了。
Comments | NOTHING