ReactJS:来自图像的getImageData通过props传递

时间:2018-04-03 17:44:21

标签: javascript reactjs

我是React的新手,请帮助我理解为什么这种方法失败了。 我的App.js文件中有一个 print(#function) //for debugging if var line = currentLine { let touch = touches.first!; let location = touch.location(in: self); line.end = location; finishedLines.append(line); } currentLine = nil; setNeedsDisplay(); } override func touchesCancelled(_ touches: Set<UITouch>?, with event: UIEvent?) { print(#function) //for debugging currentLine = nil; setNeedsDisplay(); } 组件,里面有<Some />标记。

<img>

<Some class="grade-wrapper"> <img src={imageUrl}/> </Some> 组件文件中我想获取该图像,并像这样绘制画布

<Some />

但它失败并出现错误:

  

TypeError:无法在'CanvasRenderingContext2D'上执行'drawImage':提供的值不是'(CSSImageValue或HTMLImageElement或SVGImageElement或HTMLVideoElement或HTMLCanvasElement或ImageBitmap或OffscreenCanvas)'

我认为这个问题,因为在render() { const getImageData = (image) => { const canvas = document.createElement('canvas'); const context = canvas.getContext('2d'); const size = 10; context.drawImage(image, 0, 0, size, size); const imageData = context.getImageData(0, 0, size, size).data; }; const img = this.props.children console.warn(getImageData(img)) return (null) } 我得到了React元素而不是html图像元素。 当图像通过道具时,这可能是getImageData吗?

另外,我认为当我调用drawImage时图像尚未加载...

没有反应,它看起来像this

0 个答案:

没有答案