Geachte tweakers,
Ik heb een klein probleempje m.b.t. de GD library.
Ik zou graag van een PNG met een transparante achtergrond de pixels die WEL kleur hebben vervangen.
Voorbeeld:
Ik heb een voorwerp dat een effen grijze kleur heeft met een transparante achtergrond, ik wil die effen grijze kleur in een andere kleur veranderen a.d.h.v. een doorgekregen kleur code (hex, rgb, maakt niet zo veel uit welke)
Vervolgens wil ik (in eerste instantie) het plaatje laten zien.
Het plaatje moet dus wel de transparante achtergrond houden, maar het voorwerp moet van kleur veranderen.
Ik heb de hele morgen al op google gekeken, maar geen enkele oplossing schijnt te werken.
Dit heb ik op dit moment:
Het dichtste in de buurt kwam ik nog altijd met het filter colorize, echter is die afhankelijk van de kleur die het plaatje in de eerste instantie heeft. En dus kwam de kleur er nog niet goed uit.
Ik heb ook al geprobeerd om pixel voor pixel het plaatje te vullen...alleen dat is, zoals je wrs. wel weet, niet echt snel....
Ik hoop dat jullie mij verder kunnen helpen want ik zou snap het niet meer.
Bijvoorbaat dank,
Bryan Dijksterhuis
Ik heb een klein probleempje m.b.t. de GD library.
Ik zou graag van een PNG met een transparante achtergrond de pixels die WEL kleur hebben vervangen.
Voorbeeld:
Ik heb een voorwerp dat een effen grijze kleur heeft met een transparante achtergrond, ik wil die effen grijze kleur in een andere kleur veranderen a.d.h.v. een doorgekregen kleur code (hex, rgb, maakt niet zo veel uit welke)
Vervolgens wil ik (in eerste instantie) het plaatje laten zien.
Het plaatje moet dus wel de transparante achtergrond houden, maar het voorwerp moet van kleur veranderen.
Ik heb de hele morgen al op google gekeken, maar geen enkele oplossing schijnt te werken.
Dit heb ik op dit moment:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| $aRGB = array( 'r' => '255', 'g' => '0', 'b' => '0', 'a' => '0' ); // Open image $image = imagecreatefrompng('1.png'); // HIER MOET DUS IETS KOMEN // Display header('Content-Type: image/png'); imagesavealpha($image, true); imagepng($image); |
Het dichtste in de buurt kwam ik nog altijd met het filter colorize, echter is die afhankelijk van de kleur die het plaatje in de eerste instantie heeft. En dus kwam de kleur er nog niet goed uit.
Ik heb ook al geprobeerd om pixel voor pixel het plaatje te vullen...alleen dat is, zoals je wrs. wel weet, niet echt snel....
Ik hoop dat jullie mij verder kunnen helpen want ik zou snap het niet meer.
Bijvoorbaat dank,
Bryan Dijksterhuis