png图片怎么才能处理成图片本身的样子,而不是带有背景色
如题,那个背景太难看了
如题,那个背景太难看了
2016-09-14
其实吧是因为imagecopymerge这个函数搞的鬼,如果用imagecopy函数则不会有这种问题,但是imagecopy不可以调整透明度。
也就是说imagecopymerge会忽略原始图片的透明度,而imagecopy保留了原始图片的透明度。
imagecopymerge可以调整透明度,而imagecopy不可以
那么我既要保留原始图片的透明度又要合成后的logo图片的透明度可以调整,怎么办呢?
有一种方法,就是创建一个画布,分别把背景图片与logo用imagecopy“塞”进一画布里,在把画布放在原始背景图片的上面,调透明度,效果就出来了,光说可能会听着糊涂,我上我写的代码吧。
function imagecopymerge_alpha($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h, $pct){ $cut = imagecreatetruecolor($src_w, $src_h); imagecopy($cut, $dst_im, 0, 0, $dst_x, $dst_y, $src_w, $src_h); imagecopy($cut, $src_im,0, 0, $src_x, $src_y, $src_w, $src_h); imagecopymerge($dst_im, $cut, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h, $opacity); }
希望有所帮助
举报