【发布时间】:2020-05-09 05:14:51
【问题描述】:
在我的 render() 中有以下内容的反应组件上工作:
<img id="map_image" src={this.state.last_parking.url} />
this.state.last_parking.url 只是我在当地保存的一些网址。
我想要这张图片中 rgba 颜色的值。所以我做了一个这样的函数,它通过 id map_image 使用我的 img 元素:
showData = async (url, x, y) => {
let image_ = document.getElementById("map_image")
image_.crossOrigin = "Anonymous"
let canvas = document.createElement('canvas');
let context = canvas.getContext('2d');
context.drawImage(image_, 0, 0, 100, 100)
let data = await context.getImageData(0, 0, 50, 50).data
console.log(data)
}
不幸的是,我在控制台中看到的是某种 Uint8ClampedArray,其中每个值都是 0。老实说,我只希望 rgba 值位于图像的正中心。如何使我的getImageData 数组具有实际的 rgba 值?
编辑: 我最初使用这个简单的功能: https://coderwall.com/p/iyhizq/get-the-pixel-data-of-an-image-in-html 但它也只返回 0
【问题讨论】:
标签: javascript html reactjs