login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Plaatje resizen, ziet geen plaatje

Offline AgentX - 03/08/2006 11:17 (laatste wijziging 08/08/2006 21:36)
Avatar van AgentXHTML beginner Hallo sitemasters,
Jullie kennen het bekende probleem, plaatjes vergroten of verkleinen.

Edit: de code is veranderd, de onderstaande code werkt. Zie topic voor oplossing en overig ;)
Hiermee kun je dus een plaatje groter dan 100 x 100 verkleinen, en als hij kleiner is blijft hij normaal. Werkt bij alle soort plaatjes.


  1. <?php
  2. function imageresize($plaatje){
  3. $size = getimagesize($plaatje);
  4. $width = $size[0];
  5. $height = $size[1];
  6.  
  7. $maxwidth = 100;
  8. $maxheight = 100;
  9.  
  10. if(($height > $maxheight) AND ($width > $maxwidth)){
  11. echo "<img height='" . $maxheight . "' width='" . $maxwidth . "' src='" . $plaatje . "'>";
  12. }
  13. else{
  14. echo "<img src='" . $plaatje . "'>";
  15. }
  16. }
  17. ?>


Edit:
Ik zie dus alleen een rood kruisje [x]
In de bron staat <img src="">
En op de pagina bij egigenschappen staat als link http://localhost

Weet iemand hoe ik het werkend kan krijgen??

18 antwoorden

Gesponsorde links
Offline marten - 03/08/2006 11:41
Avatar van marten Beheerder Plaats eens wat meer informatie. Hier kunnen we niet veel mee. Wat gaat er fout? Krijg je foutmeldingen enz enz
Offline AgentX - 03/08/2006 11:43
Avatar van AgentX HTML beginner Ik krijg gewoon een kruisje. [x]
Offline marten - 03/08/2006 11:51
Avatar van marten Beheerder doe eens rechtermuisknop op het kruisje en kijk welke path hij heeft.....
Offline AgentX - 03/08/2006 11:52
Avatar van AgentX HTML beginner hij verwijst naar http://localhost/

en hoe kan ik hem dan naar ergens linken zodat het platje zichtbaar is?
Offline rickwieman - 03/08/2006 11:57 (laatste wijziging 03/08/2006 11:59)
Avatar van rickwieman Onbekend
  1. <?php
  2. function imageresize($filename){
  3. if(file_exists($filename)){
  4. list($width, $height) = getimagesize($filename);
  5. $newwidth = 80;
  6. $newheight = 80;
  7.  
  8. $thumb = imagecreatetruecolor($newwidth, $newheight);
  9. $source = imagecreatefromjpeg($filename);
  10.  
  11. imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
  12. $img = imagejpeg($thumb);
  13. return $filename;
  14. }
  15. else {
  16. return $filename;
  17. }
  18. }
  19.  
  20. echo "<img src=\"" . imageresize("img/spongebob.jpg") . "\">";
  21. ?>


edit: Altijd return doen...
Offline CDNC - 03/08/2006 12:00
Avatar van CDNC PHP ver gevorderde En wat retrun je als je het geresized is? nix.....
Offline AgentX - 03/08/2006 12:03
Avatar van AgentX HTML beginner Geef eens een voorbeeldje...
Offline Anoniem - 03/08/2006 12:14 (laatste wijziging 03/08/2006 12:25)
Avatar van Anoniem PHP gevorderde Het enige wat jij returned is filename! Het gemaakte plaatje return je niet. Dat blijft gewoon in de functie hangen. Je moet dus iets verzinnen om het gemaakte plaatje op te roepen. Dus met zo iets:
rezise.php?url=img/spongebob.jpg
En dan:
<img src="rezise.php?url=/img/spongebob.jpg">

Dus moet je de functie zo bouwen:
  1. <?php
  2. # rezise.php:
  3. if(file_exists($_GET['url'])){
  4. list($width, $height) = getimagesize($_GET['url']);
  5. $newwidth = 80;
  6. $newheight = 80;
  7.  
  8. $thumb = imagecreatetruecolor($newwidth, $newheight);
  9. $source = imagecreatefromjpeg($_GET['url']);
  10.  
  11. $img = imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
  12. header('Content-type: image/jpeg');
  13. ImageJPEG($img);
  14. ImageDestroy($img);
  15. }
  16. else {
  17. //Maak hier een plaatje met een rood kruis of zo.
  18. }
  19. ?>

Op te roepen met:
<img src="rezise.php?url=/img/spongebob.jpg">
Offline AgentX - 03/08/2006 12:19
Avatar van AgentX HTML beginner jah het enige wat je nu doet is $filename veranderen in $_GET["url"]

nee dat helpt, het ordt aan geroepen uit een database...
Offline Anoniem - 03/08/2006 12:23
Avatar van Anoniem PHP gevorderde Dan pas je het toch aan ?
En btw:
Probeer het nu eens. Code is veranaderd.
Offline riekele - 03/08/2006 12:29
Avatar van riekele PHP beginner echo "<img src=\"" . imageresize("img/spongebob.jpg") . "\">"; ?
Offline AgentX - 03/08/2006 12:40 (laatste wijziging 03/08/2006 12:46)
Avatar van AgentX HTML beginner @riekele
Goh... 
Offline rickwieman - 03/08/2006 12:46 (laatste wijziging 03/08/2006 12:48)
Avatar van rickwieman Onbekend Probeer dit anders eens: doet ongeveer hetzelfde en werkt direct:
  1. <?php
  2. function resizeimg($afbeelding) {
  3.  
  4. $maxwidth = 80; //hier dus hoe breed de afbeelding mag zijn
  5. $maxheight = 80; //en hier hoe hoog de afbeelding mag zijn
  6.  
  7. $size = getimagesize($afbeelding);
  8. $width = $size[0];
  9. $height = $size[1];
  10.  
  11. if(($height > $maxheight) && ($width > $maxwidth)) {
  12. echo "<img height='" . $maxheight . "' width='" . $maxwidth . "' src=\"" . $afbeelding . "\">";
  13. }
  14. else {
  15. echo "<img src=\"" . $afbeelding . "\">";
  16. }
  17. }
  18. resizeimg("img/spongebob.jpg");
  19. ?>


edit: alleen de variabelen aanpassen is voldoende!
Offline Maarten - 03/08/2006 12:59
Avatar van Maarten Erelid Ik zie het probleem niet, je kan toch gewoon die resize code in een apart bestand (resize.php ofzo) zetten, zoals Lemon aanhaalde.. wat Rick hierboven toont is geen resize, je afbeelding blijft daar even groot.


En om te verkleinen moet imagecopyresized niet gebruiken maar imagecopyresampled, die geeft betere kwaliteit.
Offline rickwieman - 03/08/2006 13:05
Avatar van rickwieman Onbekend @Murfy: Lemon heeft niets gezegd in dit topic 
Offline Maarten - 03/08/2006 13:07 (laatste wijziging 03/08/2006 13:07)
Avatar van Maarten Erelid Orange dus. Sjeezes die avatar is lastig 
Offline AgentX - 03/08/2006 13:07
Avatar van AgentX HTML beginner En het is al opgelost.
Iemand toevallig geinteresseerd in het script?
Offline Maarten - 03/08/2006 13:07
Avatar van Maarten Erelid Gewoon in je eerste bericht zetten..
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.214s