所以基本上我已经有了这个元素,我将屏幕截图直接上传到网站,并进行了 dataURL 或 dataURI 转换(我不知道哪个是正确的),我正在努力制作它以便我可以屏幕截图中的像素相关信息。
我在背景图像属性中插入数据 URL,但我无法将 Canvas 用于我的元素的其他功能。
我想获取特定位置给定像素的特定颜色。我有包含 dataURL 的字符串。有没有办法从中提取像素颜色?
对于那些不熟悉数据 URL 的人,这里是我的 javascript 为我的截图之一创建的:
pastebin.com/NRad8nQr
我已经找到了很多关于这个主题的结果,但是我找不到一个不使用 Canvas 的..
最佳答案
不幸的是,访问像素的唯一内置方式是使用 Canvas 。
DataURL 本身可以用 Base64 解码,但它会为您提供压缩的二进制数据。要获取像素数据,您需要为所有支持的格式重新实现实际图像解码,例如 JPEG、PNG、GIF 等。
例如,如果您将其限制为 JPEG,则可以使用 https://github.com/gchudnov/jpeg-asm/blob/master/README.md然后:
// pseudo code
var jpegData = atob(dataUrl)
var pixels = decodeJPEG(jpegData)
var color = pixels.slice((y * width + x) *4, 4)
关于javascript - 从数据 url/uri 图像中提取像素颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44590999/