如何使用Haxe缩放从ImageData绘制到画布?

时间:2018-08-06 12:41:29

标签: javascript haxe

好吧,我填充ScreenBuffer:ImageData 480x360,然后将其绘制到960x720的画布上。任务是降低填充率;当今的像素非常小,我们可以将其增大而质量会有所下降。我寻找具有2D加速度的运算符。但是我们不能直接写到js.html.Image,并且ImageData还没有链接到js.html.Image。我找到了纯JS的示例:

https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Pixel_manipulation_with_canvas

但是,它不希望在Haxe中工作,因为没有'zoom'元素。还有一些有关HTML中从一个图像复制到另一个图像的限制的信息。 非常感谢您的回答!

1 个答案:

答案 0 :(得分:0)

  

编译器将写入“ js.html.Element没有字段getContext”

getElementById()的返回类型是通用js.html.Element类。由于就您而言,您知道自己正在处理<canvas>,因此可以安全地将其强制转换为the more specific CanvasElement。然后,您可以将其称为getContext() method

var canvas:CanvasElement = cast js.Browser.document.getElementById('zoom');
var zoomctx = canvas.getContext('2d');