Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 28-04-2007, 14:05   #1
mfonz85
Member
 
L'Avatar di mfonz85
 
Iscritto dal: Sep 2005
Città: Bus PCI 1, periferica 0, funzione 0 (Torino)
Messaggi: 215
[PHP] cambiare colori di un file .gif

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!

Codice PHP:
<?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"] == && $colors["green"] == && $colors["blue"] == && $colors["alpha"] == 0) {
            
$newCol imagecolorallocate($im25500);
            
imagesetpixel($im$x$y$newCol);
        }
    }
}
imagegif($im);
?>
__________________
Ho concluso affari con: Ippo 2001, Klintf, albert78, Piripikkio, starsky, oldfield e IL0V€INT€R. da EVITARE zarovat

Ultima modifica di mfonz85 : 28-04-2007 alle 15:06.
mfonz85 è offline   Rispondi citando il messaggio o parte di esso
Old 29-04-2007, 20:19   #2
mfonz85
Member
 
L'Avatar di mfonz85
 
Iscritto dal: Sep 2005
Città: Bus PCI 1, periferica 0, funzione 0 (Torino)
Messaggi: 215
Se dovesse servire a qualcuno....ho risolto così:

Script che prende un'immagine bianca e nera, e sostituisce il colore nero e bianco con altri colori dati tramite metodo GET.

formato metodo GET: script.php?image=immagine.gif&r=[0->255]&g=[0->255]&b=[0->255]&bg=[000000->FFFFFF]

r,g,b sono i canali del nuovo colore da assegnare al nero. Bg è invece il nuovo colore esadecimale da assegnare al bianco.

Codice PHP:
<?php
$imageName 
$_GET['image'];

$red $_GET['r'];
$green $_GET['g'];
$blue $_GET['b'];

$newBg rgb2hex2rgb($_GET['bg']);
$bred $newBg[0];
$bgreen $newBg[1];
$bblue $newBg[2];

$vim ImageCreateFromGif($imageName);
$width imagesx($vim);
$height imagesy($vim);
$im = @imagecreatetruecolor($width$height)
      or die(
"Impossibile istanziare la nuova immagine");
for (
$x 0$x $width$x++) {
    for (
$y 0$y $height$y++) {
        
$rgb ImageColorAt($vim$x$y);
        
$colors imagecolorsforindex($vim$rgb);
        if(
$colors["red"] == && $colors["green"] == && $colors["blue"] == && $colors["alpha"] == 0) {
            
$newCol imagecolorallocate($im$red$green$blue);
            
imagesetpixel($im$x$y$newCol);
        }
        else {
            
$newCol imagecolorallocate($im$bred$bgreen$bblue);
            
imagesetpixel($im$x$y$newCol);
        }
    }
}
imagegif($im);
?>
Ovviamente se lo provate su un'immagine a colori, succede un pò di casino
Ciao a tutti

P.S la funzione rgb2hex2rgb($stringa) prende un colore esadecimale e ne calcola i canali rosso, verde e blu, e li restituisce in 1 array
__________________
Ho concluso affari con: Ippo 2001, Klintf, albert78, Piripikkio, starsky, oldfield e IL0V€INT€R. da EVITARE zarovat
mfonz85 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
La prima missione orbitale del razzo spa...
Servizi in streaming sempre più c...
Anteprima della Leapmotor B03X: inizia l...
Anthropic accusa la Cina: Claude utilizz...
I satelliti Rassvet (Starlink russo) di ...
Un agente IA ha risolto un problema su W...
Cina: la CMSA potrebbe cambiare parte de...
68 mensilità di bonus per i dipen...
Rocket Lab ha fatto ricorso contro la de...
Nutanix rende disponibile Azure Virtual ...
Il padrino del deep learning avverte: gl...
Il finto avviso "iPhone Storage is Full"...
Dietrofront in Cina, addio touchscreen p...
Un piccolo accessorio trasforma lo smart...
Dopo 370 anni il Cyphral Distich non è p...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 01:43.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v