GD!将png图像转换为jpeg并默认将alpha设置为白色而不是黑色
image-manipulation
image-processing
php
6
0

我尝试过类似的操作,但是它只会使图像的背景变白,而不必使图像的Alpha变白。我只想将所有内容都上传为jpg,所以如果我能以某种方式将“ png”图像透明地“拉平”以默认为白色,则可以将其用作jpg。感谢任何帮助。谢谢。

$old = imagecreatefrompng($upload);
$background = imagecolorallocate($old,255,255,255);
imagefill($old, 0, 0, $background);
imagealphablending($old, false);
imagesavealpha($old, true);
参考资料:
Stack Overflow
收藏
评论
共 1 个回答
高赞 时间 活跃
<?php
$input_file = "test.png";
$output_file = "test.jpg";

$input = imagecreatefrompng($input_file);
list($width, $height) = getimagesize($input_file);
$output = imagecreatetruecolor($width, $height);
$white = imagecolorallocate($output,  255, 255, 255);
imagefilledrectangle($output, 0, 0, $width, $height, $white);
imagecopy($output, $input, 0, 0, 0, 0, $width, $height);
imagejpeg($output, $output_file);
收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号