2010-03-08 6 views
1

Le problème que je pose est la suivante: je dois être en mesure de teinter dynamiquement une image en utilisant Javascript, mais je ne peux pas accéder aux données de pixels via la toile. Je peux, cependant, stocker le dataURL (ou tout autre format de données textuel) et l'inclure avec le code, manipuler ces données, puis créer un objet image en utilisant ce dataURL.pixels en utilisant seulement toDataURL Manipuler

Ma question est, comment puis-je accéder à la valeur RGBA de chaque pixel, étant donné que le dataURL. Je suppose que j'ai besoin de décoder l'URL de base64, mais dans quel format afin de manipuler au niveau du pixel? Et alors serait-ce aussi trivial que de le ré-encoder comme base64, de le glisser dans une URL, et de passer à une image?

Merci.

+0

Voulez-vous manipuler l'image, ou juste comment elle apparaît à l'utilisateur? –

+0

On dirait que vous devez écrire vous-même la décompression JPEG (ou PNG ou autre). – Pointy

+0

Vous pouvez créer un élément de canevas masqué, y dessiner votre image, faire la teinte, puis extraire le fichier dataURL du canevas masqué. – Ronald

Répondre

1

Je l'ai mis en place un toDataURL/remplacement PNG sur XDA qui peut répondre à vos besoins. Il fonctionne sur un tableau RGBA, de sorte que vous pouvez inclure votre image en tant que ressource non compressé, le charger dans un tableau en utilisant un XMLHttpRequest simple, manipuler et enfin introduire dans cette fonction pour obtenir un dataURL drawable

http://forum.xda-developers.com/showthread.php?t=1251575

Questions connexes