2011-09-11 5 views
0

J'ai l'image ici (image PNG transparent)changement PHP couleur image gradient png transparent

enter image description here

Je veux changer avec un bleu, est-il une fonction (s) ou de la classe de bibliothèque pour changer mon image ? Je sais que de nombreux sites utilisent leur fonction pour générer des gif transparents avec des couleurs.

S'il vous plaît aidez-moi.

+0

Je viens titre de la question edited à merci "changement PHP gradient transparent couleur de l'image .png". – oknoorap

Répondre

1
$img = imagecreatefromgif("put here your image path"); 

// Grab all color indeces for the given image. 
$indeces = array(); 
for ($y = 0; $y < $imgHeight; ++$y) { 
    for ($x = 0; $x < $imgWidth; ++$x) { 
     $index = imagecolorat($img, $x, $y); 
     if (!in_array($index, $indeces)) { 
      $indeces[] = $index; 
     } 
    } 
} 

foreach ($indeces as $index) { 
    // Grab the color info for the index. 
    $colors = imagecolorsforindex($img, $index); 

    // Here, you would make your color transformation. 
    $red = $colors['red']; 
    $green = $colors['green']; 
    $blue = $colors['blue']; 
    $alpha = $colors['alpha']; 

    // Update the old color to the new one. 
    imagecolorset($img, $index, $red, $green, $blue, $alpha); 
} 

Ceci est du code non testé. La transformation de couleur réelle est laissée à vous, mais tant que vous utilisez la même transformation à travers tous les indeces et ne pas débloquer avec l'alpha, l'image résultante devrait conserver le gradient.

Référence: http://www.php.net/manual/en/ref.image.php

Questions connexes