saamde Posted May 14, 2014 Share Posted May 14, 2014 So I'm new to PHP GD, I cant understand why the PNG image will not go transparent, it's just showing a white background. Could anyone help me out with this? <?php $hour = date('H'); if ($hour > 4 && $hour < 12) { $image = "day.png"; } elseif ($hour > 11 && $hour < 19) { $image = "day.png"; } else { $image = "night.png"; } $image = imagecreatefrompng( "$image" ); if (!$image) { /* See if it failed */ header("(anti-spam-(anti-spam-content-type:)) $extList"); $im = imagecreatetruecolor (150, 30); /* Create a blank image */ $bgc = imagecolorallocate ($im, 255, 255, 200); $tc = imagecolorallocate ($im, 0, 0, 0); imagefilledrectangle ($im, 0, 0, 150, 30, $bgc); /* Output an errmsg */ imagestring ($im, 1, 5, 5, "Error loading Image", $tc); imagepng($im); imagedestroy($im); die(); } header("(anti-spam-(anti-spam-content-type:)) image/png"); imagepng($image); imagedestroy($image); ?> Thanks, Sam Link to comment https://forums.phpfreaks.com/topic/288490-png-background-is-white-need-transparent-php-gd/ Share on other sites More sharing options...
Barand Posted May 14, 2014 Share Posted May 14, 2014 You need to call imagecolortransparent(). EG imagecolortransparent ($im, imagecolorat($im,0,0)); which sets the transparent color to the color of the pixel at 0,0 (assuming that is a background colored pixel) Link to comment https://forums.phpfreaks.com/topic/288490-png-background-is-white-need-transparent-php-gd/#findComment-1479482 Share on other sites More sharing options...
fastsol Posted May 15, 2014 Share Posted May 15, 2014 I have had luck using the imagealphablending($var, false) and imagesavealpha($var, true) in that order right after the imagecreatetruecolor(). The $var in those you would change to your appropriate var being used. Link to comment https://forums.phpfreaks.com/topic/288490-png-background-is-white-need-transparent-php-gd/#findComment-1479507 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.