mfonz85
28-04-2007, 14:05
Ciao a tutti,
sto cercando un sistema per cambiare colori dinamicamente ad un'immagine .gif, che altro non è che un'immagine 200x50 con sfondo bianco, e immagine nera al centro.
Vorrei creare una pagina php che cambi colori dinamicamente all'immagine con una sintassi del tipo
elabora.php?image=immagine.gif&r=255&g=0&b=0&bg=000000
dove
- image: nome immagine
- r: canale rosso (rgb)
- g: canale verde (rgb)
- b: canale blu (rgb)
- bg: colore esadecimale sfondo
Ho già trovato più di 1 script in giro per la rete, ma invece di cambiarmi il colore nero mi cambiano il colore bianco!
C'è qualcuno che mi sa aiutare con un pezzo di codice e/o un link?
Grazie anticipatamente
Edit: sto provando questo codice, ma il risultato è un'immagine completamente rossa! ma non è possibile!
<?php
$im = ImageCreateFromGif("020bn2.gif");
$width = imagesx($vim);
$height = imagesy($vim);
for ($x = 0; $x < $width; $x++) {
for ($y = 0; $y < $height; $y++) {
$rgb = ImageColorAt($im, $x, $y);
$colors = imagecolorsforindex($im, $rgb);
if($colors["red"] == 0 && $colors["green"] == 0 && $colors["blue"] == 0 && $colors["alpha"] == 0) {
$newCol = imagecolorallocate($im, 255, 0, 0);
imagesetpixel($im, $x, $y, $newCol);
}
}
}
imagegif($im);
?>
sto cercando un sistema per cambiare colori dinamicamente ad un'immagine .gif, che altro non è che un'immagine 200x50 con sfondo bianco, e immagine nera al centro.
Vorrei creare una pagina php che cambi colori dinamicamente all'immagine con una sintassi del tipo
elabora.php?image=immagine.gif&r=255&g=0&b=0&bg=000000
dove
- image: nome immagine
- r: canale rosso (rgb)
- g: canale verde (rgb)
- b: canale blu (rgb)
- bg: colore esadecimale sfondo
Ho già trovato più di 1 script in giro per la rete, ma invece di cambiarmi il colore nero mi cambiano il colore bianco!
C'è qualcuno che mi sa aiutare con un pezzo di codice e/o un link?
Grazie anticipatamente
Edit: sto provando questo codice, ma il risultato è un'immagine completamente rossa! ma non è possibile!
<?php
$im = ImageCreateFromGif("020bn2.gif");
$width = imagesx($vim);
$height = imagesy($vim);
for ($x = 0; $x < $width; $x++) {
for ($y = 0; $y < $height; $y++) {
$rgb = ImageColorAt($im, $x, $y);
$colors = imagecolorsforindex($im, $rgb);
if($colors["red"] == 0 && $colors["green"] == 0 && $colors["blue"] == 0 && $colors["alpha"] == 0) {
$newCol = imagecolorallocate($im, 255, 0, 0);
imagesetpixel($im, $x, $y, $newCol);
}
}
}
imagegif($im);
?>