Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di lyllo
    Registrato dal
    Apr 2001
    Messaggi
    832

    Ricolorare immagine PNG

    ciao gente.
    tutto nel titolo, ho un file png 30x30 bianco con un lieve effetto glow attorno.
    vorrei ricolorarlo in php:

    mainh.php: $colored = colora_img($path);

    la funzione colora_img è:
    Codice PHP:
    function colora_runa($img){
        
    header("Content-type: image/png");
    //    $im = imagecreate(30, 30);
        
    $img_base imagecreatefrompng($img);
        
    imagecopy($im,$img_base,0,0,0,0,30,30);
        
    $red imagecolorallocate($im25500);
        
    $offblue imagecolorallocate($im9090200);
        
    imagefill($im00$red);
        
    imagefilledrectangle($im10104040$offblue);
     
        
    $newblue imagecolorclosest($im00255);
     
        
    imagecolorset($im$newblue02550);
        
    imagepng($im,$colored);
        
    imagedestroy($im);


    solo che non mi apre neppure la pagina dandomi un messaggio di errore che l'immagine contiene errori...
    a me interessa una cosa molto semplice, trasformare l'immagine che ho, in un'altra -senza neppure salvarla su server- che abbia un colore diverso.
    che so, da bianca a blu.

    grazie.

  2. #2
    commenta questa riga:

    header("Content-type: image/png");

    e vedi se ci sono errori...
    ...::: DESIDERARE E' UMANO :::...
    ...::: POSSEDERE E' DIVINO :::...
    ...::: HAVE A NICE DAY :::...
    (¯`·.¸¸.->ĐĮ ĦΞŁŁ<-.¸¸.·`¯)
    http://www.djhellclub.com

  3. #3
    Utente di HTML.it L'avatar di lyllo
    Registrato dal
    Apr 2001
    Messaggi
    832
    se la commento non ci sono errori ma non succede nulla cmq

  4. #4
    Utente di HTML.it L'avatar di lyllo
    Registrato dal
    Apr 2001
    Messaggi
    832
    sto provando ad utilizzare una funzione diversa, ma non si visualizza nulla
    Codice PHP:
    function imagecolorize(&$im,&$col,$pct) {
        
    // Get the image's width
        
    $im_w imagesx($im);
        
    // Get the image's height
        
    $im_h imagesy($im);
        
    // Set a pixel with the color, so we can get it easily
        
    $setpixel imagesetpixel($im,$im_w,0,$col);
        
    // Get the color
        
    $index imagecolorat($im,$im_w,0);
        
    // Find the color in the index
        
    $rgb imagecolorsforindex($im,$index);
        
    // Get the red value
        
    $r $rgb["red"];
        
    // Get the green value
        
    $g $rgb["green"];
        
    // Get the blue value
        
    $b $rgb["blue"];
        
    // Create the layover
        
    $layover imagecreate($im_w,$im_h);
        
    // Allocate the color on this image
        
    $color imagecolorallocate($layover,$r,$g,$b);
        
    // Fill the image with the new color (this really isn't needed)
        
    $fill imagefill($layover,0,0,$color);
        
    // Merge the layover on top of the older image
        
    $merge imagecopymerge($im,$layover,0,0,0,0,$im_w,$im_h,$pct);
        
    imagedestroy($layover); // Destroy the layover

    che elaboro così (main.php)
    Codice PHP:
                $img_base "immagini/IMG.png";

                
    $col = array(0,0,255);

                
    $img imagecreatefrompng($img_base);
                
    $runa imagecolorize($img,$col,100);
                echo 
    imagepng($img,'prva.png'); 
    solo che se metto echo compare un numero, ma gli effetti non si vedono..
    come si fa!?!?

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.