samitrimal Posted March 29, 2011 Share Posted March 29, 2011 hi when i called this function i got the error :Error creating image in test function test(){ $height = 800; //the width of canvas $width = 890; //creating the image with $height and $width $im = imagecreate($width, $height) or die("Error creating image in test"); // width , height px $white = imagecolorallocate($im, 255, 255, 250) or die("Error in image allocation in test"); $black = imagecolorallocate($im, 0, 0, 0) or die("Error in image allocation"); imagefill($im, 0, 0, $black); } Quote Link to comment https://forums.phpfreaks.com/topic/232022-error-in-imagecolorallocate/ Share on other sites More sharing options...
jtreanor Posted March 29, 2011 Share Posted March 29, 2011 I'm not entirely sure why but this works for me: $height = 800; //the width of canvas $width = 890; //creating the image with $height and $width $im = imagecreatetruecolor($width, $height) or die("Error creating image in test"); // width , height px $white = imagecolorallocate($im, 255, 255, 255); $black = imagecolorallocate($im, 0, 0, 0); imagefill($im, 0, 0, $black); imagecolorallocate seems to evaluate to false. Quote Link to comment https://forums.phpfreaks.com/topic/232022-error-in-imagecolorallocate/#findComment-1193603 Share on other sites More sharing options...
PFMaBiSmAd Posted March 29, 2011 Share Posted March 29, 2011 imagecolorallocate() returns an integer and the first call to it returns a zero value which will trigger the or die() statement. There's even a warning in the documentation about how to test the value that is returned - Warning This function may return Boolean FALSE, but may also return a non-Boolean value which evaluates to FALSE, such as 0 or "". Please read the section on Booleans for more information. Use the === operator for testing the return value of this function. Don't use or anything() to test if the function call failed. Use a proper if() statement. Quote Link to comment https://forums.phpfreaks.com/topic/232022-error-in-imagecolorallocate/#findComment-1193610 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.