Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22

Discussione: image resize + color

  1. #1

    image resize + color

    Salve a tutti/e,

    sto facendo il resize di un'immagine con questo script:

    while ($rec=mysql_fetch_row($risultato)) {
    {$im2=imagecreatetruecolor(740,500);
    $colore = imagecolorallocate ($im2, 255, 0, 0);
    $im3=$rec[1];
    $im=imagecreatefromjpeg("upload/"."$im3");
    imagecopyresized($im2, $im, 0,0,0,0, 740, 500, 740, 500);
    imagejpeg($im2, "upload/r$rec[1]", 100);
    }

    La stinga imagecolorallocate mi dovrebbe trasformare lo sfondo da normale nero in rosso, ma non funziona...... perché?

    :master:
    En la habana hay una pila 'e locos!

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    97
    La funzione imagecolorallocate() alloca un colore (nel tuo caso nella variabile $colore), ma non cambia il colore di sfondo il quale è sempre nero se si usa la funzione imagecreatetruecolor(). La soluzione è usare la funzione imageFilledRectangle() in questo modo:

    imagefilledrectangle ($im2, 0, 0, 740, 500, $colore);

    in modo che venga sovrapposto un rettangolo pieno della stessa dimensione dell'immagine ma colorato diversamente (variabile $colore)

    oppure usa la funzione imageCreate() al posto di imagecreatetruecolor() così il primo colore allocato sarà usato anche come sfondo. Attenzione però che in questo caso avrai un numero limitato di colori a disposizione

  3. #3
    Ho sostituito il codice in questa maniera:

    while ($rec=mysql_fetch_row($risultato)) {
    {$im2=imagecreatetruecolor(740,500);
    $colore = imagecolorallocate ($im2, 255, 0, 0);
    imagefilledrectangle ($im2, 0, 0, 740, 500, $colore);
    $im3=$rec[1];
    $im=imagecreatefromjpeg("upload/"."$im3");
    imagecopyresized($im2, $im, 0,0,0,0, 740, 500, 740, 500);
    imagejpeg($im2, "upload/r$rec[1]", 100);
    }


    .....ma non funziona.....dove sto sbagliando?
    En la habana hay una pila 'e locos!

  4. #4
    Originariamente inviato da scudobravo
    Ho sostituito il codice in questa maniera:

    while ($rec=mysql_fetch_row($risultato)) {
    {$im2=imagecreatetruecolor(740,500);
    $colore = imagecolorallocate ($im2, 255, 0, 0);
    imagefilledrectangle ($im2, 0, 0, 740, 500, $colore);
    $im3=$rec[1];
    $im=imagecreatefromjpeg("upload/"."$im3");
    imagecopyresized($im2, $im, 0,0,0,0, 740, 500, 740, 500);
    imagejpeg($im2, "upload/r$rec[1]", 100);
    }


    .....ma non funziona.....dove sto sbagliando?
    Ho provato anche con la funzione imageCreate() al posto di imagecreatetruecolor() ma mi colora l'immagine di rosso, non lo sfondo!

    En la habana hay una pila 'e locos!

  5. #5
    :quote:

    nessuno sa dirmi quale sia il codice giusto??
    En la habana hay una pila 'e locos!

  6. #6
    :quote:
    En la habana hay una pila 'e locos!

  7. #7
    Prova a creare 1 nuova immagine..con sfondo rosso..e gli incolli sopra l'immagine desiderata!

  8. #8
    Ho provato pure quello, ma non funziona!
    Non capisco come mai lo script sia inutile seppure a mio parere corretto!
    En la habana hay una pila 'e locos!

  9. #9
    Mi sta venendo un dubbio..ma nn ne son sicuro.

    Può essere che non te la crea..perchè il tipo di documento non è image??

  10. #10
    Preciso:

    creare me la crea, ma con sfondo nero e non rosso !

    En la habana hay una pila 'e locos!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.