Avatar billede farsinsen Nybegynder
24. januar 2004 - 22:48 Der er 1 kommentar og
1 løsning

Problemer med imagecolorset()

Hej...

Jeg har nu brugt en del tid på at løse et problem med imagecolorset();

Jeg har på mit website flg. *.png fil -> http://farsinsen.dk/trans.png

Png'en er faktisk transperant, 24Bit, men IE er som bekendt ikke bedste venner med PNG transperant.

Jeg vil meget gerne bibeholde den transperante baggrund, og vha. en given query string (indeholdende en ny RGB kode) skifte farven på den sorte tshirt. Det er endt ud i nedenstående kode - der sjovt nok ikke virker!

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

$im = imagecreatefrompng("trans.png");
#$index = imagecolorclosest($im, 255, 255, 255);
#$index = imagecolorexact($im, 255, 255, 255);
$index = imagecolorat($im, 200, 200);

$im = imagecolorset($im, $index, 133, 133, 133);
imagepng($im);
imagedestroy($im);
?>

imagecolorclosest(); returnere "en eller anden RGB værdi" a la 168999, det samme gælder for imagecolorexact();

imagecolorat(); returnere derimod værdien "0". Denne går jeg ud fra er et "farveindex" og det er da også den jeg forsøger at erstatte i imagecolorset();

Altså er der nogen der kan hjælpe mig med at få udskiftet den sorte farve på tshirten?

mvh

Peter Farsinsen
Avatar billede detox Nybegynder
05. februar 2004 - 11:26 #1
Prøv at bruge: imagetruecolortopalette() og ved imagecolorset() skal du ikke bruge:
$im = imagecolorset.....

<?php
$fil = "trans.png";
$im = imagecreatefrompng($fil);
#$index = imagecolorclosest($im, 255, 255, 255);
#$index = imagecolorexact($im, 255, 255, 255);
imagetruecolortopalette($im, 0, 2);
$index = imagecolorat($im, 200, 200);
imagecolorset($im, $index, 133, 133, 133);
header ("Content-type: image/png");
imagepng($im);
imagedestroy($im);
?>
Avatar billede farsinsen Nybegynder
23. februar 2004 - 16:24 #2
ehhw havde faktisk fikset det inden dit svar ... men du har jo ret ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester