18 BK.ScreenShot 截图工具

优质
小牛编辑
121浏览
2023-12-01

截图工具

成员变量

变量类型名称备注
originObject原点
sizeObject宽高

例子:

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

方法

shotToFile(name, type)

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

参数:

参数类型名称备注
namestring文件名
typestring文件类型

返回值:

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

示例代码:

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

shotToBuff()

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

参数:

返回值:

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

示例代码:

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

shotToFileFromNode(node, name, type)

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

参数:

参数类型名称备注
nodeBK.Node节点
namestring文件名
typestring文件类型

返回值:

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

示例代码:

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

shotToBuffFromNode(node)

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

参数:

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

返回值:

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

示例代码:

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

shotToFileFromGL(gl, name, type)

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

参数:

参数类型名称备注
glBK.WebGLWebGL
namestring文件名
typestring文件类型
callbackfunction生成截图成功后回调

返回值:

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

示例代码:

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

shotToBuffFromGL(gl)

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

参数:

参数类型名称备注
glBK.WebGLWebGL
callbackfunction生成截图成功后回调

返回值:

示例代码:

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

例子

查看script/demo/render/screen_shot_demo.js