问题描述
不完全确定如何正确使用 Jimp,但在通过它跌跌撞撞后,我开发了一个功能来记录图片,将其保存在子目录下并根据日期/时间命名。真正的问题是,当我尝试返回主函数时,我的图像已损坏,而如果我不允许它返回,则调用另一个函数或仅运行 savePic() 函数本身就完全没问题。
我已经更改了代码以确保它不会自行登录,并且重复运行保存循环会使用自己单独的名称保存各个文件,但仍然无法打开每个文件。图像可以写入但不能写入是没有意义的。
如果你愿意,这是我的代码:
function getBATAmt() {
console.log("Moving to Rewards page.");
//move mouse and click
robot.moveMouse(600,50);
robot.mouseClick();
robot.typestring("brave://rewards");
robot.keyTap('enter');
console.log("Logging current BAT amt...");
savePic();
if (true) {
console.log('BAT logged.');
siteCrawl();
}
}
function savePic() {
sleep(1000);
var xstart = 830;
var ystart = 670;
var xlim = 960;
var ylim = 700;
var rimg = robot.screen.capture(0,xlim,ylim);
var dir = 'BATimg/'
var today = new Date();
var date = '(' + today.getFullYear()+'-'+(today.getMonth()+1)+'-'+today.getDate() + ')';
var time = today.getHours() + "_" + today.getMinutes() + "_" + today.getSeconds();
var d = `${dir + date + time.toString()}.jpeg`
// create a new blank image
var jimg = new Jimp(xlim - xstart,ylim - ystart);
for (var x = xstart; x < xlim; x++) {
for (var y = ystart; y < ylim; y++) {
var hex = rimg.colorAt(x,y);
var num = parseInt(hex+"ff",16)
// Write pixel into
jimg.setPixelColor(num,x - (xstart + 1),y - (ystart + 1));
}
}
jimg.write(d);
return(true);
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)