【发布时间】:2019-03-15 21:18:29
【问题描述】:
我正在学习如何使用 Haxe 将图像标记到我的画布上,并且我已经读到 texSubImage2D 应该是我完成这项工作所需的功能。
我已经阅读了一些找到 here 的文档,并认为我可以通过完成以下参数来实现我所追求的:
void gl.texSubImage2D(target, level, xoffset, yoffset, format, type, HTMLImageElement? pixels);
这就是我所做的:
gl.texSubImage2D (cast fluid.dyeRenderTarget.writeToTexture, 0, Math.round(mouse.x), Math.round(mouse.y), gl.RGB, gl.UNSIGNED_BYTE, document.querySelector('img[src="images/myImage.jpg"]'));
但是,当我尝试构建项目时,出现以下错误:
src/Main.hx:571: characters 135-191 : js.html.Element should be Int
src/Main.hx:571: characters 135-191 : For function argument 'format'
当我回到文档时,我传递的格式 gl.RGB 是一个可接受的参数,所以我不确定我哪里出错了。
任何指导将不胜感激。
【问题讨论】:
-
你使用的是什么 Haxe 版本?
-
@Gama11 3.2.1,只是因为我 fork 的项目在使用较新版本时会产生错误...
-
我明白了.. 在我写答案之前还有一个问题,您需要转换的
fluid.dyeRenderTarget.writeToTexture的类型是什么? -
@Gama11 查看文件 writeToTexture 声明为
public var writeToTexture (default, null):GLTexture;writeToTexture 是常规 webgl 句柄的包装器