PHP Graphics werkt niet?

Status
Niet open voor verdere reacties.

Uturn

Gebruiker
Lid geworden
7 apr 2009
Berichten
100
Hallo, ik ben niet bekend met het gebruik van graphics in PHP. Ik probeer een simpel scriptje om een rechthoek te tekenen:

PHP:
<?php

$myImage=ImageCreate(400,60);

$blue=ImageColorAllocate($myImage, 0, 0, 255);

ImageRectangle($myImage, 50, 20, 200, 15, $blue);

header("Content-type:image/png");
ImagePng($myImage);

?>

Maar ik krijg als output in mijn window:

‰PNG  IHDR<º8ñÞPLTEÿÿÿÿÿÿÿNºCIDAThíÓÁ 0 ±ŒÖG÷Ÿ©;ƒ!HœÉ#3À7çT ®SÝõ`ª»Lu׃©kžbû*Ycá×IEND®B`‚

Wat doe ik fout? Moet ik een eerst een bepaalde library includen of iets dergelijks?
 
bekijk volgende script eens en test het eens

doorzichtig watermerk
PHP:
<?php
if (!function_exists(@imagecreatetruecolor)){
    die("Error: Please make sure you have GD library ver 2+(contact your hosting or watch to php.ini)");//<<<<<<<dit is nuttig als de gd nog niet aanstaat indien er zo'n letterke voor staat dat ook voor de comentaar staan die weghalen herstarten.
}
/**
* Met de dank aan de geniale programmeur die dit op internet plaatste
* te testen
*/
// Load the stamp and the photo to apply the watermark to
//$stamp = imagecreatefrompng('images2/tux2.png');
$im = imagecreatefromjpeg('images2/images.jpg');//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<hier een voorbeeldje van één inlezen
// Load the stamp and the photo to apply the watermark to
//$im = imagecreatefromjpeg('photo.jpeg');
// First we create our stamp image manually from GD
$stamp = imagecreatetruecolor(100, 70);//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<dit heb je nodig een img aanmaken
imagefilledrectangle($stamp, 0, 0, 99, 69, 0x0000FF);
imagefilledrectangle($stamp, 9, 9, 90, 60, 0xFFFFFF);
$im = imagecreatefromjpeg('images2/images.jpg');
imagestring($stamp, 5, 20, 20, 'libGD', 0x0000FF);//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<hier wat tekst plaatsen
imagestring($stamp, 3, 20, 40, '(c) 2007-9', 0x0000FF);
// Set the margins for the stamp and get the height/width of the stamp image
$marge_right = 10;
$marge_bottom = 10;
$sx = imagesx($stamp);
$sy = imagesy($stamp);
// Merge the stamp onto our photo with an opacity (transparency) of 50%
imagecopymerge($im, $stamp, imagesx($im) - $sx - $marge_right, imagesy($im) - $sy - $marge_bottom, 0, 0, imagesx($stamp), imagesy($stamp), 50);
// Save the image to file and free memory
imagepng($im, 'images2/image2.png');//<<<<<<<<<<<<<<<<<<<<<<hier wordt het opgeslagen maar dan moet je die maar weergeven(maar stel je browser kan het niet weergeven bv zo'n oude die geen png kan weergeven is het nuttig het weg te schrijven (denk aan cach omdat het zeer intensief kan zijn voor je server))
imagedestroy($im);
?>
 
Ik heb het letterlijk gekopieerd, maar krijg alleen 7 Warnings:
Warning: imagecreatefromjpeg(images2/images.jpg) [function.imagecreatefromjpeg]: failed to open stream: No such file or directory in C:\wamp\www\php\test.php on line 11
Warning: imagecreatefromjpeg(images2/images.jpg) [function.imagecreatefromjpeg]: failed to open stream: No such file or directory in C:\wamp\www\php\test.php on line 18
Warning: imagesx() expects parameter 1 to be resource, boolean given in C:\wamp\www\php\test.php on line 27
Warning: imagesy() expects parameter 1 to be resource, boolean given in C:\wamp\www\php\test.php on line 27
Warning: imagecopymerge() expects parameter 1 to be resource, boolean given in C:\wamp\www\php\test.php on line 27
Warning: imagepng() expects parameter 1 to be resource, boolean given in C:\wamp\www\php\test.php on line 29
Warning: imagedestroy() expects parameter 1 to be resource, boolean given in C:\wamp\www\php\test.php on line 30
 
Laatst bewerkt:
het was mischien een beetje te veel om te beginnen

nu door te geraken waar je bent zal je gd werken nu volgend
moet je op de plaats images2/images.jpg
eens effectief een foto plaatsen met die naam en je zal merken dat er tekst op komt te staan en het in png beschikbaar komt
 
Bedankt voor je hulp (en sorry voor de late reactie).
Maar ik vraag me alleen af waarom ik niet gewoon bijvoorbeeld een rechthoek kan tekenen in PHP terwijl dat volgens de informatie die ik heb gewoon moet werken.
 
Nu mogelijks had u het niet gezien
maar er wordt een foto opgeroepen en nadien wordt er één gemaakt
PHP:
@$stamp
zie vorige voorbeeld nu en dan wordt deze sammengevoegd een beetje verwarrend maar als je dan toch iets wouw doen gaf ik het effen mee
dus @see http://php.net/imagepng
*onderderstaande kan fouten bevatten en is nog niet getest
PHP:
$stamp = imagecreatetruecolor(100, 70);//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<dit heb je nodig een img aanmaken
imagefilledrectangle($stamp, 0, 0, 99, 69, 0x0000FF);
imagefilledrectangle($stamp, 9, 9, 90, 60, 0xFFFFFF);
header("Content-type:image/png");
ImagePng($stamp);
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan