hatem_from_mesr
asked on
how to solve this error
the sent code have these errors
Warning: imagecreatefrompng(button. png) [function.imagecreatefromp ng]: failed to open stream: No such file or directory in D:\xampp\htdocs\test\05.ph p on line 6
Warning: imagettfbbox() [function.imagettfbbox]: Invalid font filename in D:\xampp\htdocs\test\05.ph p on line 7
Warning: imagesx(): supplied argument is not a valid Image resource in D:\xampp\htdocs\test\05.ph p on line 12
Warning: imagesy(): supplied argument is not a valid Image resource in D:\xampp\htdocs\test\05.ph p on line 13
Warning: imagecolorallocate(): supplied argument is not a valid Image resource in D:\xampp\htdocs\test\05.ph p on line 16
Warning: imagettftext() expects parameter 1 to be resource, boolean given in D:\xampp\htdocs\test\05.ph p on line 17
Warning: Cannot modify header information - headers already sent by (output started at D:\xampp\htdocs\test\05.ph p:6) in D:\xampp\htdocs\test\05.ph p on line 20
Warning: imagepng(): supplied argument is not a valid Image resource in D:\xampp\htdocs\test\05.ph p on line 21
I think there is something disabled
please help me turn it on
Warning: imagecreatefrompng(button.
Warning: imagettfbbox() [function.imagettfbbox]: Invalid font filename in D:\xampp\htdocs\test\05.ph
Warning: imagesx(): supplied argument is not a valid Image resource in D:\xampp\htdocs\test\05.ph
Warning: imagesy(): supplied argument is not a valid Image resource in D:\xampp\htdocs\test\05.ph
Warning: imagecolorallocate(): supplied argument is not a valid Image resource in D:\xampp\htdocs\test\05.ph
Warning: imagettftext() expects parameter 1 to be resource, boolean given in D:\xampp\htdocs\test\05.ph
Warning: Cannot modify header information - headers already sent by (output started at D:\xampp\htdocs\test\05.ph
Warning: imagepng(): supplied argument is not a valid Image resource in D:\xampp\htdocs\test\05.ph
I think there is something disabled
please help me turn it on
<?php
if (isset($_GET['message'])) {
// load font and image, calculate width of text
$font = 'times';
$size = 12;
$im = ImageCreateFromPNG('button.png');
$tsize = imagettfbbox($size,0,$font,$_GET['message']);
// center
$dx = abs($tsize[2]-$tsize[0]);
$dy = abs($tsize[5]-$tsize[3]);
$x = ( imagesx($im) - $dx ) / 2;
$y = ( imagesy($im) - $dy ) / 2 + $dy;
// draw text
$black = ImageColorAllocate($im,0,0,0);
ImageTTFText($im, $size, 0, $x, $y, $black, $font, $_GET['message']);
// return image
header('Content-type: image/png');
ImagePNG($im);
exit;
}
?>
<html>
<head><title>Button Form</title></head>
<body>
<form action="<?= $PHP_SELF ?>" method="GET">
Enter message to appear on button:
<input type="text" name="message" /><br />
<input type="submit" value="Create Button" />
</form>
</body>
</html>
Then go look at your directories and find out why this button.png file is missing. You may be looking at the wrong directory. You can print out the contents of getcwd() to see what directory your script is looking in.
Not sure, but I think all the other errors are downstream issues caused by the failure of this command:
ImageCreateFromPNG('button .png');
HTH, ~Ray
Not sure, but I think all the other errors are downstream issues caused by the failure of this command:
ImageCreateFromPNG('button
HTH, ~Ray
The button.png needs to be located in a place where the server is reading. Typically this is passed in with a full path to the file not just a file name.
If you are trying to create it from scratch you can do the following to make that happen:
You need to make sure that the image has a valid resource before continuing. If not you will get the above warnings that you see.
If you are trying to create it from scratch you can do the following to make that happen:
You need to make sure that the image has a valid resource before continuing. If not you will get the above warnings that you see.
<?php
if( isset($_GET['message']) ) {
// load font and image, calculate width of text
$font = 'times';
$size = 12;
$im = ImageCreateFromPNG('button.png');
if(!$im) {
/* Create a blank image */
$im = imagecreatetruecolor(150, 30);
$bgc = imagecolorallocate($im, 255, 255, 255);
$tc = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, 150, 30, $bgc);
}
$tsize = imagettfbbox($size,0,$font,$_GET['message']);
// center
$dx = abs($tsize[2]-$tsize[0]);
$dy = abs($tsize[5]-$tsize[3]);
$x = ( imagesx($im) - $dx ) / 2;
$y = ( imagesy($im) - $dy ) / 2 + $dy;
// draw text
$black = ImageColorAllocate($im,0,0,0);
ImageTTFText($im, $size, 0, $x, $y, $black, $font, $_GET['message']);
// return image
header('Content-type: image/png');
ImagePNG($im);
exit;
}
?>
ASKER
Ray_Paseur,
>>>Run this script and look to see if you have GD enabled.
it's enabled
>>>Run this script and look to see if you have GD enabled.
it's enabled
ASKER
when I put the button.png file
there is those errors
Warning: imagettfbbox() [function.imagettfbbox]: Invalid font filename in D:\xampp\htdocs\test\05.ph p on line 7
Warning: imagettftext() [function.imagettftext]: Invalid font filename in D:\xampp\htdocs\test\05.ph p on line 17
Warning: Cannot modify header information - headers already sent by (output started at D:\xampp\htdocs\test\05.ph p:7) in D:\xampp\htdocs\test\05.ph p on line 20
0PNG IHDR_Æâô`¬IDATX&J8± ¬ Q0.&¾®`iD<X©¯O¢×Bq¯"T? B¹6‘ôc=Á 4¬NM.6¸{_çÆaH²JG[{vÆuÆuÆuÆuÆu ÆuÆuÆuÆuÆu ÆuÆuÆuÆuÆu ÆuÆuÆuÆuH÷ êS"bPM&û ¼w(/T8|;IEND®B`
there is those errors
Warning: imagettfbbox() [function.imagettfbbox]: Invalid font filename in D:\xampp\htdocs\test\05.ph
Warning: imagettftext() [function.imagettftext]: Invalid font filename in D:\xampp\htdocs\test\05.ph
Warning: Cannot modify header information - headers already sent by (output started at D:\xampp\htdocs\test\05.ph
0PNG IHDR_Æâô`¬IDATX&J8± ¬ Q0.&¾®`iD<X©¯O¢×Bq¯"T?
So the warning indicates that there is something wrong with the contents of $_GET["message"] - it is not a font filename, apparently.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Man page here. Font file name can be URL.
http://us2.php.net/manual/en/function.imagettfbbox.php
http://us2.php.net/manual/en/function.imagettfbbox.php
Open in new window