Likes Likes:  0
Resultaten 1 tot 12 van de 12
Geen
  1. #1
    Rick
    [PHP]De imagecopyresampled-functie
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    [PHP]De imagecopyresampled-functie

    Hallo,

    Ik werk aan een foto-upload-script. Nadat de foto via een formulier is
    verzonden, gebeurt het volgende:

    - Na het checken van alle velden worden de gegevens van het jpegje in een
    database gezet. Vervolgens wordt de id van dat record uit de database
    gehaald en die wordt meteen als naam voor het originele plaatje gebruikt.

    - Het originele plaatje met id als naam wordt in de map pictures/$region
    gezet.

    - Dan wordt er een thumbnail gemaakt, in dezelfde map, met th_ voor de naam.

    <?php
    if(empty($foutmsg)){
    //uploaden en in database zetten
    $insert_image = "INSERT INTO `sys_pics` (`region` , `org_name` ,
    `description` , `user_id` , `story_id` , `width` , `height`, `ext`, `size`)
    VALUES ('".$region."', '".$fileorgname."',
    '".$_POST['description']."', '".$_SESSION['my_id']."',
    '".$_POST['story_id']."', '".$filesizex."', '".$filesizey."',
    '".$file_type."', '".$filesize."')";
    mysql_query($insert_image) or die(mysql_error());

    $sql = "SELECT `id` FROM `sys_pics` WHERE `org_name` =
    '".$fileorgname."' AND `user_id` = '".$_SESSION['my_id']."' AND `story_id` =
    '".$_POST['story_id']."'";
    $q = mysql_query($sql);
    while($record = mysql_fetch_object($q)){
    $pic_id = $record->id;
    }

    if(move_uploaded_file($filetmpname,
    "pictures/".$region."/".$pic_id.".".$file_type."" )){

    //thumbs maken

    $new_width = 60;
    $width_ratio = $new_width/$filesizex;
    $new_height = $width_ratio * $filesizey;

    //Aanmaken thumbnail
    $img = "pictures/".$region."/".$pic_id.".".$file_type."";
    //originele pic
    $dest_img = "pictures/".$region."/th_".$pic_id.".".$file_type."";
    //bestemming pic
    echo "".$img . "<br>". $dest_img."" ;
    imagecopyresampled($dest_img, $img, 0, 0, 0, 0, $new_width,
    $new_height, $filesizex, $filesizey);


    echo "<h3>Je foto staat online</h3><a
    href=\"index.php?page=add_pic\">Nog een foto uploaden</a><br><br><a
    href=\"index.php?page=pic_admin\">Terug</a>";

    }else{
    echo"<h3>Fout</h3><p>Er is iets misgegaan tijdens het
    uploaden</p><p>Probeer het opnieuw of neem contact op met de webmaster</p>";
    }
    }


    ?>

    Probleem is nu dat ik de foutmelding krijg dat dat nummer niet bestaat.
    Toch, als ik de variabele $img echo krijg ik een plaatje dat toch echt wel
    bestaat.

    Iemand een idee wat hier misgaat?

    Alvast bedankt
    Rick



  2. #2
    Daniel Tryba
    [PHP]De imagecopyresampled-functie
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [PHP]De imagecopyresampled-functie

    Rick <r.haasteren@planet.nl> wrote:
    > $insert_image = "INSERT INTO `sys_pics` (`region` , `org_name` ,

    [knip]
    >
    > $sql = "SELECT `id` FROM `sys_pics` WHERE `org_name` =
    > '".$fileorgname."' AND `user_id` = '".$_SESSION['my_id']."' AND `story_id` =
    > '".$_POST['story_id']."'";
    > $q = mysql_query($sql);
    > while($record = mysql_fetch_object($q)){
    > $pic_id = $record->id;
    > }


    Zonde: http://nl3.php.net/manual/en/functio...-insert-id.php

    [knip]


    > $img = "pictures/".$region."/".$pic_id.".".$file_type."";
    > //originele pic
    > $dest_img = "pictures/".$region."/th_".$pic_id.".".$file_type."";
    > //bestemming pic
    > echo "".$img . "<br>". $dest_img."" ;
    > imagecopyresampled($dest_img, $img, 0, 0, 0, 0, $new_width,
    > $new_height, $filesizex, $filesizey);


    [knip]

    > Probleem is nu dat ik de foutmelding krijg dat dat nummer niet bestaat.
    > Toch, als ik de variabele $img echo krijg ik een plaatje dat toch echt wel
    > bestaat.
    >
    > Iemand een idee wat hier misgaat?


    En wat is de foutmelding (de echte, niet jou interpretatie)?

    BTW als je in de handleiding kijkt
    (http://nl3.php.net/manual/en/functio...yresampled.php) zie je
    dat waar jij strings voor de eerste 2 argumenten gebruikt, het volgens
    het prototype resources moeten zijn. In de commentaren van de functie
    staan voldoende voorbeelden hoe het wel moet.

    --

    Daniel Tryba


  3. #3
    Jaap de Bergen
    [PHP]De imagecopyresampled-functie
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [PHP]De imagecopyresampled-functie

    On Thu, 1 Jul 2004 00:05:55 +0200, "Rick" <r.haasteren@planet.nl>
    wrote:

    >Hallo,
    >
    >Ik werk aan een foto-upload-script. Nadat de foto via een formulier is
    >verzonden, gebeurt het volgende:
    >


    Een algemeen tipje: je kunt beter imagemagick gebruiken als
    performance belangrijk is, die is stukken sneller dan de gd functies.


    Jaap

  4. #4
    Rick
    [PHP]De imagecopyresampled-functie
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [PHP]De imagecopyresampled-functie

    Daniel Tryba wrote:
    > Rick <r.haasteren@planet.nl> wrote:
    >> $insert_image = "INSERT INTO `sys_pics` (`region` ,
    >> `org_name` , [knip]
    >>
    >> $sql = "SELECT `id` FROM `sys_pics` WHERE `org_name` =
    >> '".$fileorgname."' AND `user_id` = '".$_SESSION['my_id']."' AND
    >> `story_id` = '".$_POST['story_id']."'";
    >> $q = mysql_query($sql);
    >> while($record = mysql_fetch_object($q)){
    >> $pic_id = $record->id;
    >> }

    >
    > Zonde: http://nl3.php.net/manual/en/functio...-insert-id.php
    >
    > [knip]


    Stuk makkelijker inderdaad, dank je!

    >> $img = "pictures/".$region."/".$pic_id.".".$file_type."";
    >> //originele pic
    >> $dest_img =
    >> "pictures/".$region."/th_".$pic_id.".".$file_type.""; //bestemming
    >> pic echo "".$img . "<br>". $dest_img."" ;
    >> imagecopyresampled($dest_img, $img, 0, 0, 0, 0, $new_width,
    >> $new_height, $filesizex, $filesizey);

    >
    > [knip]
    >
    >> Probleem is nu dat ik de foutmelding krijg dat dat nummer niet
    >> bestaat. Toch, als ik de variabele $img echo krijg ik een plaatje
    >> dat toch echt wel bestaat.
    >>
    >> Iemand een idee wat hier misgaat?

    >
    > En wat is de foutmelding (de echte, niet jou interpretatie)?


    Dit is de *echte* foutmelding: Warning: imagecopyresampled(): supplied
    argument is not a valid Image resource .

    > BTW als je in de handleiding kijkt
    > (http://nl3.php.net/manual/en/functio...yresampled.php) zie je
    > dat waar jij strings voor de eerste 2 argumenten gebruikt, het volgens
    > het prototype resources moeten zijn. In de commentaren van de functie
    > staan voldoende voorbeelden hoe het wel moet.


    Ik begrijp eerlijk gezegd niet precies hoe ik aan die prototype resources
    moet komen. Ik heb het geprobeerd zoals in die voorbeelden op php.net:
    Het plaatje wordt: $thumb = imagecreatetruecolor ($new_width,
    $new_height);
    Ook dan nog krijg ik die foutmelding. Ook snap ik niet helemaal welke
    resource er op de eerste plaats (de aankomende thumbnail) moet komen.

    Alvast bedankt!
    Rick





  5. #5
    Daniel Tryba
    [PHP]De imagecopyresampled-functie
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [PHP]De imagecopyresampled-functie

    Jaap de Bergen <DEBERGEN.COM@remove_this_to_emaildomainsbyproxy.c om > wrote:
    >>Ik werk aan een foto-upload-script. Nadat de foto via een formulier is
    >>verzonden, gebeurt het volgende:
    >>

    >
    > Een algemeen tipje: je kunt beter imagemagick gebruiken als
    > performance belangrijk is, die is stukken sneller dan de gd functies.


    Vertel meer... benchmarks en de api zouden welkom zijn om je opmerking
    te ondersteunen.

    --

    Daniel Tryba


  6. #6
    Daniel Tryba
    [PHP]De imagecopyresampled-functie
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [PHP]De imagecopyresampled-functie

    Rick <r.haasteren@planet.nl> wrote:
    >> En wat is de foutmelding (de echte, niet jou interpretatie)?

    >
    > Dit is de *echte* foutmelding: Warning: imagecopyresampled(): supplied
    > argument is not a valid Image resource .

    ^^^^^^^^^^^^^^^^^^^^^^^^^^

    >> BTW als je in de handleiding kijkt
    >> (http://nl3.php.net/manual/en/functio...yresampled.php) zie je
    >> dat waar jij strings voor de eerste 2 argumenten gebruikt, het volgens
    >> het prototype resources moeten zijn. In de commentaren van de functie
    >> staan voldoende voorbeelden hoe het wel moet.

    >
    > Ik begrijp eerlijk gezegd niet precies hoe ik aan die prototype resources
    > moet komen.


    Die staan gewoon in de handleiding:
    <q src='http://nl3.php.net/imagecopyresampled'>
    bool imagecopyresampled
    (
    resource dst_im,
    resource src_im,
    int dstX,
    int dstY,
    int srcX,
    int srcY,
    int dstW,
    int dstH,
    int srcW,
    int srcH
    )
    </q>

    > Ik heb het geprobeerd zoals in die voorbeelden op php.net:
    > Het plaatje wordt: $thumb = imagecreatetruecolor ($new_width, $new_height);


    Heeft als prototype:
    resource imagecreatetruecolor ( int x_size, int y_size)

    In je oorspronkelijke code dient dus $dest_img eerst hiermee te worden
    gemaakt. $img krijg je met een van de imagecreatefrom....() functies.

    > Ook dan nog krijg ik die foutmelding. Ook snap ik niet helemaal welke
    > resource er op de eerste plaats (de aankomende thumbnail) moet komen.


    Huh! imagecreatetruecolor kan _die_ foutmelding niet geven... het is
    uitermate handig dat je niet vertelt wat je aangepast hebt aan je
    script... die $thumb... regel past namelijk op geen enkele manier in je
    oorspronkelijke script.

    Je kan overigens het eerst voorbeeld (sirsiggi at bin-ich-jesus dot de
    20-Jun-2004 10:21) gewoon als vervangin nemen voor je eigen probeersel:

    //Aanmaken thumbnail
    $img = "pictures/".$region."/".$pic_id.".".$file_type.""; //originele pic
    $dest_img = "pictures/".$region."/th_".$pic_id.".".$file_type.""; //bestemming pic

    if(!imageresize($img,$dest_img,$new_width,$new_hei ght))
    {
    die("er ging iets fout");
    }

    --

    Daniel Tryba


  7. #7
    Jaap de Bergen
    [PHP]De imagecopyresampled-functie
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [PHP]De imagecopyresampled-functie

    On Thu, 1 Jul 2004 08:01:03 +0000 (UTC), Daniel Tryba
    <news_nl.internet.www.server-side@canopus.nl> wrote:

    >Jaap de Bergen <DEBERGEN.COM@remove_this_to_emaildomainsbyproxy.c om > wrote:
    >>>Ik werk aan een foto-upload-script. Nadat de foto via een formulier is
    >>>verzonden, gebeurt het volgende:
    >>>

    >>
    >> Een algemeen tipje: je kunt beter imagemagick gebruiken als
    >> performance belangrijk is, die is stukken sneller dan de gd functies.

    >
    >Vertel meer... benchmarks en de api zouden welkom zijn om je opmerking
    >te ondersteunen.


    Google heeft het antwoord, zoek maar eens op "faster gd imagemagick".


    Jaap

  8. #8
    Rick
    [PHP]De imagecopyresampled-functie
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [PHP]De imagecopyresampled-functie

    Daniel Tryba wrote:
    > Rick <r.haasteren@planet.nl> wrote:
    >>> En wat is de foutmelding (de echte, niet jou interpretatie)?

    >>
    >> Dit is de *echte* foutmelding: Warning: imagecopyresampled():
    >> supplied argument is not a valid Image resource .

    > ^^^^^^^^^^^^^^^^^^^^^^^^^^
    >
    >>> BTW als je in de handleiding kijkt
    >>> (http://nl3.php.net/manual/en/functio...yresampled.php) zie
    >>> je dat waar jij strings voor de eerste 2 argumenten gebruikt, het
    >>> volgens het prototype resources moeten zijn. In de commentaren van
    >>> de functie staan voldoende voorbeelden hoe het wel moet.

    >>
    >> Ik begrijp eerlijk gezegd niet precies hoe ik aan die prototype
    >> resources moet komen.

    >
    > Die staan gewoon in de handleiding:
    > <q src='http://nl3.php.net/imagecopyresampled'>
    > bool imagecopyresampled
    > (
    > resource dst_im,
    > resource src_im,
    > int dstX,
    > int dstY,
    > int srcX,
    > int srcY,
    > int dstW,
    > int dstH,
    > int srcW,
    > int srcH
    > )
    > </q>


    Dat zijn de waarden die ingevuld dienen te worden ja, maar het probleem voor
    mij blijft: die 2 resources. Blijkbaar werkt het niet om gewoon het adres
    van het plaatje op te geven.

    [knip]

    >> Ook dan nog krijg ik die foutmelding. Ook snap ik niet helemaal welke
    >> resource er op de eerste plaats (de aankomende thumbnail) moet komen.

    >
    > Huh! imagecreatetruecolor kan _die_ foutmelding niet geven... het is
    > uitermate handig dat je niet vertelt wat je aangepast hebt aan je
    > script... die $thumb... regel past namelijk op geen enkele manier in
    > je oorspronkelijke script.


    Nee, die foutmedling kwam ook van imagecopyresampled.

    > Je kan overigens het eerst voorbeeld (sirsiggi at bin-ich-jesus dot de
    > 20-Jun-2004 10:21) gewoon als vervangin nemen voor je eigen
    > probeersel:
    >
    > //Aanmaken thumbnail
    > $img = "pictures/".$region."/".$pic_id.".".$file_type.""; //originele
    > pic $dest_img = "pictures/".$region."/th_".$pic_id.".".$file_type."";
    > //bestemming pic
    >
    > if(!imageresize($img,$dest_img,$new_width,$new_hei ght))
    > {
    > die("er ging iets fout");
    > }


    Die ben ik nu aan het uitproberen ja. Maar ook nu loop ik weer tegen het
    probleem van die prototypes aan. In de functie moeten $img en $target worden
    ingevoerd. Wat moet daar precies ingevoerd worden?

    Rick



  9. #9
    Daniel Tryba
    [PHP]De imagecopyresampled-functie
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [PHP]De imagecopyresampled-functie

    Jaap de Bergen <DEBERGEN.COM@remove_this_to_emaildomainsbyproxy.c om> wrote:
    >>> Een algemeen tipje: je kunt beter imagemagick gebruiken als
    >>> performance belangrijk is, die is stukken sneller dan de gd functies.

    >>
    >>Vertel meer... benchmarks en de api zouden welkom zijn om je opmerking
    >>te ondersteunen.

    >
    > Google heeft het antwoord, zoek maar eens op "faster gd imagemagick".


    In de Nederlands rechtstaat geldt: "Wie eist, bewijst!"

    Maar goed:

    Hit 5:
    <q src='http://www.smartphp.net/content/classes/thumbnail/Creating_Thumbnails.html'>
    imagemagick is faster and much more powerful that GD.
    </q>

    Hit 7:
    <q src='http://reflections-ig.com/home.php?a=documentation'>
    GD comes with php, and has a wider array of capabilities. It tends to
    be faster, but the image quality and the number of compatible formats
    isn't as good as ImageMagick's.
    </q>

    Hit 8:
    <q src='http://cpanratings.perl.org/d/Imager'>
    Other than this, the module works well and is even faster than GD in
    many instances. GD however is much easier to learn, again due to the
    superior documentation.
    </q>

    Hit 10:
    <q src='http://www.webhostingtalk.com/archive/thread/149065-1.html'>
    I found ImageMagick 30% slower then netpbm.
    </q>

    MAW geen enkele benchmark... Maar wel de leuke opmerking dat netpbm in
    sommige gevallen sneller is, maar in gebruik ook weer een stuk
    moeilijker (de enige reden waarom ik ooit imagemagick heb gebruik was
    'convert -flop'). Als je toch al een het shellen bent maakt dat toch
    weinig meer uit. Maar daar heb je dan ook meteen een groot probleem te
    pakken: het is niet portable. GD2 tegenwoordig wel.

    --

    Daniel Tryba


  10. #10
    Daniel Tryba
    [PHP]De imagecopyresampled-functie
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [PHP]De imagecopyresampled-functie

    Rick <r.haasteren@planet.nl> wrote:
    >> </q>

    >
    > Dat zijn de waarden die ingevuld dienen te worden ja, maar het probleem voor
    > mij blijft: die 2 resources. Blijkbaar werkt het niet om gewoon het adres
    > van het plaatje op te geven.
    >
    > [knip]


    Dat stond dan ook (beknopt) uitgelegt in de 3 regels die je hier geknipt
    hebt.

    >> if(!imageresize($img,$dest_img,$new_width,$new_hei ght))
    >> {
    >> die("er ging iets fout");
    >> }

    >
    > Die ben ik nu aan het uitproberen ja. Maar ook nu loop ik weer tegen het
    > probleem van die prototypes aan. In de functie moeten $img en $target worden
    > ingevoerd. Wat moet daar precies ingevoerd worden?


    Nogmaals lezen wat ik gepost heb, wellicht valt je iets op als je de
    code heel aandachtig leest.

    --

    Daniel Tryba


  11. #11
    Rick
    [PHP]De imagecopyresampled-functie
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [PHP]De imagecopyresampled-functie

    Daniel Tryba wrote:
    > Rick <r.haasteren@planet.nl> wrote:
    >>> </q>

    >>
    >> Dat zijn de waarden die ingevuld dienen te worden ja, maar het
    >> probleem voor mij blijft: die 2 resources. Blijkbaar werkt het niet
    >> om gewoon het adres van het plaatje op te geven.
    >>
    >> [knip]

    >
    > Dat stond dan ook (beknopt) uitgelegt in de 3 regels die je hier
    > geknipt hebt.
    >
    >>> if(!imageresize($img,$dest_img,$new_width,$new_hei ght))
    >>> {
    >>> die("er ging iets fout");
    >>> }


    Maar in die functie van php.net komt de functie ImageCreateFromJpeg ook
    voor. De input daarvoor is de var $img. Kan dat wel de url van een bestand
    zijn?

    Dank je
    Rick



  12. #12
    Daniel Tryba
    [PHP]De imagecopyresampled-functie
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [PHP]De imagecopyresampled-functie

    Rick <r.haasteren@planet.nl> wrote:
    > Maar in die functie van php.net komt de functie ImageCreateFromJpeg ook
    > voor. De input daarvoor is de var $img. Kan dat wel de url van een bestand
    > zijn?


    <q src='http://nl.php.net/manual/en/function.imagecreatefromjpeg.php'>
    Description
    resource imagecreatefromjpeg ( string filename)

    ....

    Tip: You can use a URL as a filename with this function if the fopen
    wrappers have been enabled. See fopen() for more details on how to
    specify the filename and Appendix L for a list of supported URL
    protocols.

    Warning

    Windows versions of PHP prior to PHP 4.3.0 do not support accessing
    remote files via this function, even if allow_url_fopen is enabled.
    </q>

    --

    Daniel Tryba


Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2026 Webhostingtalk.nl.
Web Statistics