可以检索位图数据HTML Canvas 2D元素,还可以将Canvas 3D/WebGL元素的渲染内容作为位图数据访问?如何检索WebGL位图数据?
2
A
回答
5
WebGL的readPixels的签名在稍后的草稿中发生了变化。
而不是返回与像素数据每次一个新的数组的,则传递数组以填充作为最后一个参数:
空隙readPixels(闪烁的x,闪烁Y,GLsizei宽度,GLsizei高度,GLenum格式,GLenum型,ArrayBufferView像素)
这允许重复使用相同的阵列进行多个readPixels操作。
1
从WebGL Specification的工作草案:
ArrayBufferView readPixels(GLint x, GLint y,
GLsizei width, GLsizei height, GLenum format, GLenum type)
返回与传递的矩形内的像素 一个ArrayBufferView。从readPixels返回的数据 必须是 最新的最新的 发送的绘图命令。在读取像素 访问绘图缓冲区之前,必须完成任何未处理的 绘图命令并将其结果呈现给当前的 绘图缓冲区。
的具体子类返回的ArrayBufferView依赖于 传入的类型。如果是 UNSIGNED_BYTE,则Uint8Array返回 ,否则返回Uint16Array 。
1
不像使用readPixels那样直接,但是这也可能起作用。您也可以使画布的图像元素,像这样:
var img = document.getElementById("game-canvas").toDataURL("image/jpeg");
$("#shots").append("<img src=\"" + img + "\" width=\"320\" height=\"480\"/>");
你必须得到与特殊选项preserveDrawingContext您的WebGL上下文这个工作,虽然:
var gl = canvas.getContext("experimental-webgl", {preserveDrawingBuffer: true});
从那里,如果您想要轻松操作图像,则可以在2d画布中渲染该图像,并在需要时读取像素。
我经常使用它来截取我正在玩的东西的“截图”。
相关问题
- 1. 如何从数据库检索图像?
- 2. 如何检索JsonResult数据
- 3. 如何中检索数据
- 4. 数据库位图索引
- 5. 如何从json数据检索数据
- 6. 如何从数据库使用数据库检索图像?
- 7. RecyclerView从最后位置检索数据
- 8. Android MapActivity无法检索位置数据
- 9. 如何从HTML5画布使用JavaScript检索原始位图数据?
- 10. 如何从数据库检索位置对象?
- 11. 从ListView中检索位图
- 12. 如何从Google地图检索我的地点地图数据?
- 13. Android:从数据库检索位图的问题
- 14. 如何使用PHP搜索栏检索MySQL数据库数据
- 15. 检索数据
- 16. 检索数据
- 17. 如何从视频中检索位图/图像
- 18. 如何从XML资源中的矢量图像检索位图
- 19. 如何从维基数据检索结果中检索维基数据条目?
- 20. 你如何检索嵌套数据D3
- 21. 如何从sparkql检索数据到UI?
- 22. 如何从游标检索数据
- 23. 如何从外键检索数据
- 24. 如何从Footable中检索列数据
- 25. 如何在Auth后检索POST数据?
- 26. 如何从XML文件检索数据?
- 27. RubyMotion Firebase(motion-firebase)如何检索数据?
- 28. Android Firebase ..我如何检索数据
- 29. 如何从Siebel检索数据到mdb
- 30. TYPO3 7.3 extbase如何检索blob数据?
听起来很不错。 – Liam 2010-08-17 10:22:55