Logo met transparante achtergrond: wit veranderen in kleur

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jo Immanuel

Jo Immanuel

01/11/2018 10:57:01
Quote Anchor link
Beste mensen,

Voor mijn website heb ik een logo in png-formaat. Dit is 1 'kleur', namelijk wit met een transparante achtergrond. Nu wil ik via php het wit veranderen in een andere kleur, maar moet de transparante achtergrond behouden blijven.

Dit is mijn code, maar dit geeft niet het gewenste resultaat:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
$logo = '../images/logo.png';
$logoanderekleur = '../images/logoanderekleur.png';
$im = imagecreatefrompng($logo);
$red = imagecolorallocate($im, 255, 0, 0);
imagecolortransparent($im, $red);
imagefill($im, 0, 0, $red, IMG_COLOR_TRANSPARENT);
imagealphablending($im, false);
imagesavealpha($im, true);
imagepng($im, $logoanderekleur);


Dit is het transparante plaatje, waarvan ik het wit wil veranderen in een andere kleur:

Afbeelding

Weet iemand wat ik verkeerd doe/ hoe ik dit moet aanpakken?

Ik heb bij het zoeken gevonden dat er misschien problemen zijn omdat het om wit gaat en dit geen kleur is, ook kan een probleem zijn dat het om meerdere witte vlakken gaat en niet om slechts 1. Ik kom er in ieder geval zelf niet uit.
Gewijzigd op 01/11/2018 12:04:57 door Jo Immanuel
 
PHP hulp

PHP hulp

19/04/2024 15:07:50
 
Ward van der Put
Moderator

Ward van der Put

01/11/2018 11:02:17
Quote Anchor link
Als je de PNG omzet in SVG, kun je de vulkleur aanpassen met CSS.
 
Jo Immanuel

Jo Immanuel

01/11/2018 11:04:02
Quote Anchor link
Ward van der Put op 01/11/2018 11:02:17:
Als je de PNG omzet in SVG, kun je de vulkleur aanpassen met CSS.


Dat wil ik niet. Ik wil het juist via php doen zodat er een af plaatje met de juiste kleur uitkomt.



Toevoeging op 01/11/2018 17:14:15:

Ok, ik ben eruit. Het heeft allemaal met de kleur wit te maken. Dan kun je er nog zoveel filters overheen gooien, de kleur blijft wit. Dus 'kleuren omdraaien' is de truck.

Oplossing: Wanneer je voor de imagefilter nog een imagefilter met waarde IMG_FILTER_NEGATE plaatst lukt het wel.

Dus:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
...
imagefilter($logo, IMG_FILTER_NEGATE);
imagefilter($logo, IMG_FILTER_COLORIZE, 0, 0, 225);
...


Topic kan gesloten worden!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.