Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    resize immagini, se hanno sfondo trasparente il risultato è nero

    uso questo codice per caricare un'immagine sul server con il suo resize:

    Codice PHP:
    list($width$height)=getimagesize($dir.$prefisso.$fileNomeDest.".".$fext);
                
    $thumbWidth=(THUMB_HEIGHT/$height)*$width;
            
    // caricamento immagini
    $thumb=imagecreatetruecolor($thumbWidth,THUMB_HEIGHT);

            
    // resize e salvataggio
    imagecopyresampled($thumb,$source,0,0,0,0,$thumbWidth,THUMB_HEIGHT,$width,$height);
    imagejpeg($thumb,$dir.$prefisso.$fileNomeDest.CAT_SUFFIX.".".$fext,80);
        
    // distruzione delle immagini e liberazione della memoria utilizzata
    imagedestroy($thumb);
    imagedestroy($source); 

    funziona bene, ma se l'immagine ha lo sfondo trasparente mi ritrovo con la thumbnail con uno sfondo nero, mentre l'originale mi viene caricata correttamente...

    sapete dirmi come mai?


    Grazie mille!
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  2. #2
    ho provato a mettere:

    $background = imagecolorallocate($thumb, 255, 255, 255);

    prima dell'imagejpeg, ma non risolvo nulla...lo sfondo è sempre nero
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  3. #3
    nessuno mi sa dare una mano?

    il codice a me non sembra errato e non trovo da nessuna parte una dicitura che mi spieghi il fatto che per immagini con sfondo trasparente il risultato avrà uno sfondo nero. E poi non capisco perché neanche con il colorallocate mi funziona...
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    prova a dare uno sguardo ai commenti di imagecolortransparent. dovresti trovare qualcosa.

  5. #5
    non sono molto forte con l'inglese, quindi è molto probabile che mi sbagli, ma:

    imagecolortransparent() sets the transparent color in the image image to color. image is the image identifier returned by imagecreatetruecolor() and color is a color identifier returned by imagecolorallocate().
    non significa che imagecolortransparent setta ciò che nell'immagine è trasparente nel colore definito dal parametro color.


    quindi è l'inverso di quello che serve a me, perché io ho bisogno di far diventare trasparente un colore ( che è quello dello sfondo )...


    o ho capito male?
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    in un commento dice

    The problem with the GIF type is that those with transparent backgrounds need to be treated differently to those without. When I don't detect GIF transparency, I either end up with all transparent GIF's having black backgrounds

    che mi sembra sia esattamente il problema che capita a te.

    prova a vedere se la funzione che inizia con questo commento risolve il tuo problema.
    I'm feeling particularly altruistic today, so here is the code to accompany the text I submitted about a script that 'intelligently' detects if an uploaded GIF has transparency or not, and creates a thumbnail accordingly:

  7. #7
    funzica!!!!! grazie mille!!!!



    ciao ciao!
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da 13manuel84
    funzica!!!!! grazie mille!!!!



    ciao ciao!

  9. #9
    LOL


    ti chiedo scusa, forse ero in preda all'alcol quando l'ho provato e magari lo provavo con img aventigià sfondo bianco...perché oggi il cliente mi ha chiamato e il problema esiste tutt'ora

    io ho usato questo codice:
    Codice PHP:
    if ($old_ext=="GIF"){
        
    $tpcolor=imagecolorat($source00);
        
    // in the real world, you'd better test all four corners, not just one!
        
    imagepalettecopy($thumb2$source);
        
    imagecopyresized($thumb2$source0000,THUMB_WIDTH_SCHEDA,$thumbHeightScheda,$width,$height);
        
    $pixel_over_black imagecolorat($thumb200);
        
    // ...but now make the fill white...
            
    $bg imagecolorallocate($thumb2255255255);
            
    imagefilledrectangle($thumb200THUMB_WIDTH_SCHEDA$thumbHeightScheda$bg);
            
    imagecopyresized($thumb2$source0000THUMB_WIDTH_SCHEDA$thumbHeightScheda$width$height);
            
    $pixel_over_white imagecolorat($thumb200);
            
    // ...to test if transparency causes the fill color to show through:
            
    if($pixel_over_black != $pixel_over_white){
          
    // Background IS transparent
              
    imagefilledrectangle($thumb200THUMB_WIDTH_SCHEDA$thumbHeightScheda$tpcolor);
          
    imagecopyresized($thumb2$source0000THUMB_WIDTH_SCHEDA$thumbHeightScheda$width$height);
          
    imagecolortransparent($thumb2$tpcolor);
            }


    e purtroppo ho notato che con l'img che mi ha passato lui mi mette ancora lo sfondo nero...

    facendo comunque il resize giusto...




    sai/sapete darmi una mano?
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  10. #10
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Mi spiace, non ho mai provato quel codice.
    Appena ho un pò di tempo gli do uno sguardo e se risolvo ti faccio sapere.

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.