• User Attivo

    imagejpeg che nn mi salva immagine

    ciao a tutti,
    sn nuovo, e quindi un bel salutone image

    Allora, ecco il mio problema: ho un file .swf che intercetta il flusso della webcam; ad un click su un pulsante viene scattato un fermo immagine, una "foto", che flash passa ad una pagina php; questa, con un ciclo, ricrea l'immagine pixelXpixel e a questo punto viene il bello (x modo di dire...è na' tragedia)...
    Con la funzione imagejpeg vorrei che questa immagine fosse salvata in una cartella sul server e invece me la apre soltanto in una nuova pagina (se volete provare: www.millestanze.it/cam.html)
    Su una guida avevo letto che il secondo parametro del comando imagejpeg dovrebbe essere il path dove salvare l'immagine, ma a me nn funzia!
    Il chmod della cartella è su 777 e quindi a su questo nn dovrebbero esserci problemi!

    Questo è il codice che uso:
    $nuovo_nome = '/web/htdocs/www.millestanze.it/home/immagini/immagine1.jpg';
    imagejpeg($image,$nuovo_nome,30);

    perfavore datemi una mano che stò sclerando da diversi giorni su questa cosa...image
    grazie,
    ciao


  • User Attivo

    non mi e' chiaro come crei [php]$image[/php]...


  • User Attivo

    hai provato ad utilizzare un percorso relativo?

    ad esempio:

    $nuovo_nome = 'immagini/immagine1.jpg';


  • User Attivo

    ciao,
    grazie mile per l'attenzione!
    Ti riporto il codice, nn è lunghissimo e forse è l'unico modo affinchè tu capisca meglio:

    <?php
    //If GD library is not installed, say sorry
    if(!function_exists("imagecreate")) die("Sorry, you need GD library to run this example");
    //Capture Post data
    $data = explode(",", $_POST['img']);
    $width = $_POST['width'];
    $height = $_POST['height'];
    //Allocate image
    $image=(function_exists("imagecreatetruecolor"))?imagecreatetruecolor( $width ,$height ):imagecreate( $width ,$height );
    imagefill($image, 0, 0, 0xFFFFFF);
    //Copy pixels
    $i = 0;
    for($x=0; $x<=$width; $x++){
    for($y=0; $y<=$height; $y++){
    while(strlen($data*) < 6) $data* = "0" . $data*;
    $r = 255-hexdec("0X".substr( $data* , 0 , 2 ));
    $g = 255-hexdec("0x".substr( $data* , 2 , 2 ));
    $b = 255-hexdec("0x".substr( $data[$i++] , 4 , 2 ));
    $color = ($r << 16) | ($g << 😎 | $b;
    $color = imagecolorallocate($image, $r, $g, $b);
    imagesetpixel ( $image , $x , $y , $color );
    }
    }
    //Output image and clean
    //header( "Content-type: image/jpeg" );
    $nuovo_nome =
    '/web/htdocs/www.millestanze.it/home/immagini/immagine1.jpg';
    imagejpeg($image,$nuovo_nome,30);
    imagedestroy( $image );
    ?>

    grazie ancora,
    ciao


  • User Attivo

    si, avevo già provato il percorso relativo, ma, nn funzionando, mi avevano suggerito di utilizzare questa tipologia di path, ma senza miglior successo...:(


  • User Attivo

    da quel che ne so' dovresti usare la sintassi
    [php]$image=imagecreatetruecolor( $width ,$height )[/php]o

    [php]$image=imagecreate( $width ,$height )[/php]altrimenti non crei $image prima di riempirla con imagefill...


  • User Attivo

    ciao,
    ma queste due righe nn fanno quello che dici te?

    $image=(function_exists("imagecreatetruecolor"))?imagecreatetruecolor( $width ,$height ):imagecreate( $width ,$height );
    imagefill($image, 0, 0, 0xFFFFFF);


  • User Attivo

    oops, probabilmente si... non sono abituato a quella sintassi...
    potresti provare con una riga alla volta (senza il test sulla presenza di imagecreatetruecolor) e controllare passo passo la riuscita dell'esecuzione tramite i codici di ritorno..


  • User Attivo

    ciao, però scusa, se l'immagine creata la vedo in una nuova finestra, nn vuol dire che quelle righe funzionano? (te lo chiedo xchè nn è che sia un esperto di php, e vado un pò a senso...)
    IL problema è che me la visualizza solamente senza salvarmela sul server!
    grazie,
    ciao


  • User Attivo

    sono d'accordo con te e neanche io sono un esperto... sto imparando... io ho uno script che usa le stesse funzioni... e funziona!!!

    prova a controllare cosa ritorna " imagejpeg", e il contenuto di $nuovo_nome e che il file non esista....


  • User Attivo

    perfetto, funziona!
    L'errore era nel flash, che invece di usare SendAndLoad usavo solo Send e mi apriva una nuova finestra....
    grazie cmq di tutto,
    ciao