Vraag & Antwoord

Webprogrammeren & scripting

Verkleinen van afbeelding lukt niet.

Anoniem
Johnny321
10 antwoorden
  • Ik heb een php-scriptje in elkaar gemeubeld om afbeeldingen te verkleinen
    (moet later in de upload-functie worden gezet; maar dat komt later).
    Maar het lukt me niet helemaal. Ik krijg steeds een foutmelding :(. Hier is de code.
    Het gaat atijd fout op bij het het creeeren van de afbeelding.
    [code:1:0ae882d5c2] if($gegevens[0] > $gegevens[1])
    {
    $foto_indeling = "liggend";
    $maximale_breedte = "600";
    $verhouding_liggend = $gegevens[0] / $maximale_breedte;
    $maximale_hoogte = $gegevens[1] / $verhouding_liggend;
    }
    else
    {
    $foto_indeling = "staand";
    $maximale_breedte = "450";
    $verhouding_staand = $gegevens[0] / $maximale_breedte;
    $maximale_hoogte = $gegevens[1] / $verhouding_staand;
    }
    $foto = imagecreatefromjpeg ($file);
    $image_aanmaken = imagecreatetruecolor ($maximale_breedte, $maximale_hoogte);

    // Plaatje kopieren en "resamplen"
    imagecopyresampled (
    $image_aanmaken,
    $foto,
    0, 0, 0, 0,
    $maximale_breedte,
    $maximale_hoogte,
    $gegevens[0],
    $gegevens[1]);

    // Bestand wegschrijven
    ImageJpeg ($image_aanmaken, $tijdelijke_map."/".$file, 90);

    // Geheugen opschonen
    Imagedestroy($file); [/code:1:0ae882d5c2]
  • Misschien een idee om de foutmelding dan ook hier neer te zetten?
  • Ahum; das idd ook zo :oops:

    [size=10:6717255d3e]
    Warning: imagecreatetruecolor(): Invalid image dimensions in /home/htb/domains/htb.ath.cx/public_html/test.php on line 47

    Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /home/htb/domains/htb.ath.cx/public_html/test.php on line 57

    Warning: imagejpeg(): supplied argument is not a valid Image resource in /home/htb/domains/htb.ath.cx/public_html/test.php on line 60

    Warning: imagedestroy(): supplied argument is not a valid Image resource in /home/htb/domains/htb.ath.cx/public_html/test.php on line 63
    [/size:6717255d3e]

    Voorbeeld: http://htb.ath.cx/test.php
  • $maximale_hoogte heeft een waarde die niet geldig is. Waarschijnlijk is hij lager dan 0.
  • mm, ff gekeken en hij was idd best wel klein: 0.00222222222222
    ff kijken waar daar de fout in de berekening zit.

    [edit]

    Die fout opgelost. Ik krijg nu deze foutmeldingen.

    [size=10:37cd67248e]
    Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /home/htb/domains/htb.ath.cx/public_html/test.php on line 57

    Warning: imagejpeg(): Unable to open 'temp//var/tmp/phpBoDRA6.jpg' for writing in /home/htb/domains/htb.ath.cx/public_html/test.php on line 60

    Warning: imagedestroy(): supplied argument is not a valid Image resource in /home/htb/domains/htb.ath.cx/public_html/test.php on line 63[/size:37cd67248e]
  • bij imagecopyresampled() moeten argument 1 EN 2 image resources zijn. Misschien een idee de handleiding er eens op na te slaan?
  • Dat zijn et toch ook?
    argument is de image die met imagecreatetruecolor() gemaakt wordt; en argument 2 is het bestand zelf.
    Dat zijn toch twee afbeeldingsbronnen; of vergeet ik hier iets?

    [edit]

    Ik was vergeten om een JPEG van het bestand te maken; was alleen nog maar een naam. Heb er nu een JPG van gemaakt; en de eerste foutmelding is nu weg. Nu die andere twee nog.
    Alvast bedankt voor et meedenken.
  • ipv $file meegeven moet je volgens mij
    $image = imagecreatefromjpeg($file); meegeven.
    (er van uitgaande dat $file een jpg-file is)
  • Een image resource is niet een bestand, maar een afbeelding gemaakt met imagecreate[iets].

    Tweede fout: je hebt geen rechten om naar de map te schrijven, even chmodden met 666 of 777.

    Derde: Zelfde verhaal als de eerste, je moet een image resource opgeven.
  • Dat heb ik nu idd veranderd. Bedankt voor je input; had je bericht pas gelezen nadat ik dat gedaan.

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.