函数:getSnapshotData 返回截图数据

函数功能:直接返回截图对应数据

引擎版本:Android v3.3.1、iOS v4.0.4 及以上

函数方法

img = getSnapshotData(kind,x1,y1,x2,y2,quality)

参数 类型 必填 说明
kind string 截图数据格式,"png"、"jpg"、"rgb","jpg" 仅支持 iOS ,
其中 "rgb" 仅支持 Android v3.3.2 及以上引擎版本,可返回 RGB 颜色数据
x1 number 截图区域左上角顶点屏幕横坐标
y1 number 截图区域左上角顶点屏幕纵坐标
x2 number 截图区域右下角顶点屏幕横坐标
y2 number 截图区域右下角顶点屏幕纵坐标
quality number kind 为 jpg 时,
可用此参数控制图片质量,此参数值为大于 0 且小于等于 1 的值
返回值 类型 说明
img string/nil 图片的二进制数据,不能直接打印输出

函数用例

function writeImg(paht,str)
    sfile,msg = io.open(paht,"w")
    if sfile then
        sfile:write(str)
        sfile:close()
    else
        dialog("打开失败,失败原因:"..msg,5)
    end
end
require("TSLib")
local imgPath = userPath().."/res/test.png"
fwShowWnd("wid",0,0,300,300,1)
fwShowTextView("wid","textid",os.date("%H%M"),"center","ffffff","000000",20,0,0,0,300,300,1)
mSleep(1000)
img = getSnapshotData("png",0, 100, 300, 200)
writeImg(imgPath,img)
--替换成蜂蜂帮玩的用户名及密码串
ocrInfo("haoi23","username","password")
text,tid = ocrImage(imgPath,1004,30,1)
if text then
    dialog("打码成功\r\n"..text.."\r\nid : " .. tid)
    nLog("打码成功\r\n" .. text .. " id : " .. tid)
else
    dialog("打码失败\r\n"..tid)
end
--返回 RGB 颜色数据示例
local function getPixelRGB(rgbData, width, px, py)
    -- 计算偏移量: (y * 行宽 + x) * 3字节/像素
    local offset = (py * width + px) * 3
    -- Lua 字符串索引从1开始
    local r = string.byte(rgbData, offset + 1)
    local g = string.byte(rgbData, offset + 2)
    local b = string.byte(rgbData, offset + 3)

    return r, g, b
end
require("TSLib")
img = getSnapshotData("rgb",0, 0, 100,400)
local r, g, b = getPixelRGB(img, 101, 65, 384)
nLog(string.format("R=%d, G=%d, B=%d", r, g, b))

注意事项

  • 如果想要保存成图片,需要注意 kind 对应参数需要与保存图片后缀相同,如 kind 为 "png",则保存图片后缀应为 .png,jpg 同理;如果不同会导致图片大小改变。
Copyright 北京帮你玩科技有限公司 2026 all right reserved,powered by Gitbook该文章修订时间: 2026-09-10 15:20:11

results matching ""

    No results matching ""