php gd png透明,调整PNG大小并将其放在PHP / GD中较大的透明背景上?

所以,一切工作正常。我已经调整了源PNG大小并正确定位在创建的背景上,但PNG外部的其他区域变黑。我已经通过使用imagecolortransparent使它变得透明,但是这使png边缘变得光滑。

这是我目前正在制作PNG周围的黑色条纹。请记住,我只在这里处理PNG图像。

// TARGET IMAGE

$target = imagecreatetruecolor($this->request['width'], $this->request['height']);

imagealphablending($target, false);

imagesavealpha($target, true);

// SOURCE IMAGE

$source = imagecreatefrompng($this->src_image);

// RESAMPLING

imagecopyresampled($target, $source, $offsetX, $offsetY, 0, 0, $tnWidth, $tnHeight, $this->src_width, $this->src_height);

// FINAL IMAGE

imagepng($target, $source, $quality);

// MEMORY CLEAN UP

imagedestroy($source);

imagedestroy($target);

// PRODUCES SOMETHING LIKE THIS

+--------------------------------+

| BLACK AREA |

+--------------------------------+

| |

| RESIZED PNG |

| WITH TRANSPARENCY |

| |

+--------------------------------+

| BLACK AREA |

+--------------------------------+

// WHERE IT SHOULD HAVE THE BLACK AREAS TRANSPARENT AS WELL

+--------------------------------+

| TRANSPARENT |

+--------------------------------+

| |

| RESIZED PNG |

| WITH TRANSPARENCY |

| |

+--------------------------------+

| TRANSPARENT |

+--------------------------------+希望有人有这方面的经验,因为我发现在线的所有示例都只是谈论在透明BG上调整PNG的大小,这很容易。

TIA

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值