[php] Afbeelding on the fly inkleuren.

Pagina: 1
Acties:

Onderwerpen


Verwijderd

Topicstarter
Ik wil bezoekers de mogelijkheid geven om een afbeelding van een bepaald object in de kleur te laten zien die de bezoeker selecteert.

Hoe kan ik dit het makkelijkste doen? Zonder dat ik 1000en plaatjes met kleuren op de server hoef te hebben.

Ik zat zelf te denken aan GD. Ik wil dan een transparant plaatje over het orgineel heenleggen. Het orginele object is wit met schaduwwerking.

Geheel client-side wordt ook lastig denk ik. Hoe netjes kan ik de vorm van het object krijgen met imagefilledrectangle() van gd?

Mochten er hele andere oplossingen zijn, bijvoorbeeld met flash, dan hou ik me ook van harte aanbevolen. Bedankt alvast voor meedenken.

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Misschien heb je hier wat aan:
Zelf heb ik ooit een scriptje geschreven waarmee ik de kleur van mijn icon dynamisch kon aanpassen:
$index = imagecolorexact($img,0,0,255);
imagecolorset($img,$index,$r,$g,$b);
$img is het plaatje
$index is de blauwe kleur uit mijn icon, en met imagecolorset verander ik die kleur in de gewenste kleur.

Afbeeldingslocatie: http://www.van-weert.com/~Erkens/icon-color/?c=ff0000
http://www.van-weert.com/~Erkens/icon-color/?c=ff0000

  • GX
  • Registratie: Augustus 2000
  • Laatst online: 14-05 09:40

GX

Nee.

Flash lijkt me het makkelijkst, ook omdat je met de gd lib steeds een plaatje opnieuw moet laden, en dus iets sneller vlakjes inkleuren niet gaat werken. Maar, als je het met de GD lib doet kan je het beste alle coordinaten van hoekpunten opslaan in een array, en dan met een imagemap oid de coordinaten van waar geklikt word doorsturen, dan kan je het juiste vlak inkleuren..

  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 04-09 08:16

OkkE

CSS influencer :+

Als je steeds de achtergrond kleur wil aanpassen is het best mogelijk met GD zoals Erkens aangeeft. Wil je echter alleen je object (wat nu wit is?) een kleur geven, dan wordt het iets lastiger, en is het misschien wel makkelijker met Flash..

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 02:21

Janoz

Moderator Devschuur®

!litemod

Je zegt dat je een transparant plaatje over het orgineel wilt leggen, mar het lijkt mij veel makkelijker om het orgineel op bepaalde plekken transparant te maken en deze over een kleur heen te leggen. Als het niet goed werkt met alpha kanalen (in bijvoorbeeld png bestanden) dan kun je altijd nog ditheren. Dit trukje heb ik vroeger wel eens toegepast om haarkleur te veranderen. Ik maakte het haarstuk grijs en doorzichtig volgens een schaakbord patroon. Kleurtje erachter en klaar ;).

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Topicstarter
ditheren?? Dat ken ik niet. Wat is het principe daarvan? Het moet niet schokkerig worden als je begrijpt wat ik bedoel.

Verwijderd

Topicstarter
ik snap hem al. Maar hoe krijg ik nu met photoshop dat object mooi doorzichtig, zodat ik ook de schaduwwerking houdt?

Ik ben geen ster in photoshop. :)

  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 04-09 08:16

OkkE

CSS influencer :+

Mooie schaduw krijg je alleen wanneer je opslaat als PNG24, alleen dat werkt niet lekker in IE.

[ Voor 7% gewijzigd door OkkE op 16-09-2004 15:41 . Reden: woordje NIET vergeten ]

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 02:21

Janoz

Moderator Devschuur®

!litemod

Het maakt geen donder uit of het in IE wel of niet werkt. Zolang de GD lib er maar goed mee omgaat. Het samengestelde plaatje is niet doorzichtig.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'

Pagina: 1