为什么这会产生黑色图像?

时间:2011-03-13 03:54:50

标签: php

在images文件夹中,我有一个带

的notfound.php文件
<?php
header('Content-type: image/png');
    $im = imagecreatefrompng('simnotfound.png');
    imagepng($im);
    imagedestroy($im);
    ?>

图像是256乘256.notfound.php页面显示黑色256乘256平方。图像不是全黑的。它只是在中心透明背景上的一些黑色文字。

修复

<?php
header('Content-type: image/png');
    $im = imagecreatefrompng('simnotfound.png');
    imagealphablending($im, true); // setting alpha blending on
    imagesavealpha($im, true); // save alphablending setting (important)
    imagepng($im);
    imagedestroy($im);
    ?>

2 个答案:

答案 0 :(得分:3)

使用白色背景再次创建您的图像文件以检查是否正确读取,如果是 - 问题是您的透明背景

还尝试使用其他文件来消除阅读此特定文件的问题

答案 1 :(得分:1)

bool imagesavealpha ( resource $image , bool $saveflag )

imagesavealpha - 设置标志以在保存PNG图像时保存完整的Alpha通道信息(而不是单色透明度)