BK.ScreenShot 截图工具

截图工具

成员变量

变量 类型 名称 备注
origin Object 原点
size Object 宽高

例子:

  1. var ss = new BK.ScreenShot();
  2. ss.origin = { x: 500, y: 500 };
  3. ss.size = { width: 500, height: 1000 };

方法

shotToFile(name, type)

截图并保存到指定文件,返回文件路径

参数:

参数 类型 名称 备注
name string 文件名
type string 文件类型

返回值:

类型 名称 备注
string 文件路径 若保存不成功则返回空

示例代码:

  1. var ss = new BK.ScreenShot();
  2. ss.origin = { x: 500, y: 1000 };// 设置截图区域原点
  3. ss.size = { width: 500, height: 1000 };// 设置截图区域大小
  4. var path = ss.shotToFile("test", "png");// 设置截图名称和类型

shotToBuff()

截图并保存到缓冲区,返回缓冲区

参数:

返回值:

类型 名称 备注
BK.Buffer 缓冲区 若保存不成功则返回空

示例代码:

  1. var ss = new BK.ScreenShot();
  2. ss.origin = { x: 500, y: 1000 };// 设置截图区域原点
  3. ss.size = { width: 500, height: 1000 };// 设置截图区域大小
  4. var buffer = ss.shotToBuff();

shotToFileFromNode(node, name, type)

从BK.Node截图并保存到指定文件,返回文件路径

参数:

参数 类型 名称 备注
node BK.Node 节点
name string 文件名
type string 文件类型

返回值:

类型 名称 备注
string 文件路径 若保存不成功则返回空

示例代码:

  1. var ss = new BK.ScreenShot();
  2. ss.origin = { x: 500, y: 1000 };// 设置截图区域原点
  3. ss.size = { width: 500, height: 1000 };// 设置截图区域大小
  4. var path = ss.shotToFileFromNode(node, "test", "png");

shotToBuffFromNode(node)

从BK.Node截图并保存到缓冲区,返回缓冲区

参数:

参数 类型 名称 备注
node BK.Node 节点

返回值:

类型 名称 备注
BK.Buffer 缓冲区 若保存不成功则返回空

示例代码:

  1. var ss = new BK.ScreenShot();
  2. ss.origin = { x: 500, y: 1000 };// 设置截图区域原点
  3. ss.size = { width: 500, height: 1000 };// 设置截图区域大小
  4. var buffer = ss.shotToBuffFromNode(node);

shotToFileFromGL(gl, name, type)

对WebGL截图并保存到指定文件,返回文件路径

参数:

参数 类型 名称 备注
gl BK.WebGL WebGL
name string 文件名
type string 文件类型
callback function 生成截图成功后回调

返回值:

类型 名称 备注
string 文件路径 若保存不成功则返回空

示例代码:

  1. var gl = bkWebGLGetInstance();
  2. var ss = new BK.ScreenShot();
  3. ss.origin = { x: 500, y: 1000 };// 设置截图区域原点
  4. ss.size = { width: 500, height: 1000 };// 设置截图区域大小
  5. ss.shotToFileFromGL(gl, "test", "png",function(path){
  6. //path为生成截图的路径
  7. });

shotToBuffFromGL(gl)

对WebGL截图并保存到缓冲区,返回缓冲区

参数:

参数 类型 名称 备注
gl BK.WebGL WebGL
callback function 生成截图成功后回调

返回值:

示例代码:

  1. var gl = bkWebGLGetInstance();
  2. var ss = new BK.ScreenShot();
  3. ss.origin = { x: 500, y: 1000 };// 设置截图区域原点
  4. ss.size = { width: 500, height: 1000 };// 设置截图区域大小
  5. ss.shotToBuffFromGL(gl,function(buffer){
  6. //生成截图的buffer(BK.Buffer类型)
  7. });

例子

查看script/demo/render/screen_shot_demo.js

原文: https://hudong.qq.com/docs/engine/api/BK.ScreenShot.html