2010-03-08 67 views
1

我遇到的问题是:我需要能够使用Javascript动态地为图像着色,但是我无法通过画布访问像素数据。但是,我可以存储dataURL(或任何其他基于文本的数据格式),并将其包含在代码中,处理该数据,然后使用该dataURL创建一个图像对象。仅使用toDataURL操纵像素

我的问题是,我如何才能访问每个像素的RGBA值,只给出dataURL。我假设我需要解码base64 url​​,但是为了在像素级别上操作,采用什么格式?然后,将它重新编码为base64,将它拍成一个url,然后传递给一个图像就可以了?

谢谢。

+0

你想操纵图像,还是只看它对用户的影响? – 2010-03-09 00:30:57

+0

好像你必须自己写JPEG(或PNG或其他)解压缩。 – Pointy 2010-03-09 01:04:40

+0

您可以创建一个隐藏的画布元素,在那里绘制图像,进行着色,然后从隐藏的画布中拉出dataURL。 – Ronald 2010-03-09 05:35:42

回答

1

我已经在xda上实现了toDataURL/PNG替换,可以满足您的需求。它操作的RGBA阵列上,所以你可以包括你的形象为未压缩的资源,使用简单的XMLHttpRequest将其加载到一个数组,操纵它,最后将其送入该函数获得绘制DataURL

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