electron-screenshots 0.3.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/screenshots.js +22 -3
- package/package.json +4 -3
package/lib/screenshots.js
CHANGED
|
@@ -61,6 +61,7 @@ var events_1 = __importDefault(require("events"));
|
|
|
61
61
|
var padStart_1 = __importDefault(require("./padStart"));
|
|
62
62
|
var getBoundAndDisplay_1 = __importDefault(require("./getBoundAndDisplay"));
|
|
63
63
|
var logger_1 = __importDefault(require("./logger"));
|
|
64
|
+
var node_screenshots_1 = require("node-screenshots");
|
|
64
65
|
var Screenshots = /** @class */ (function (_super) {
|
|
65
66
|
__extends(Screenshots, _super);
|
|
66
67
|
function Screenshots(opts) {
|
|
@@ -177,11 +178,27 @@ var Screenshots = /** @class */ (function (_super) {
|
|
|
177
178
|
Screenshots.prototype.capture = function (_a) {
|
|
178
179
|
var display = _a.display;
|
|
179
180
|
return __awaiter(this, void 0, void 0, function () {
|
|
180
|
-
var sources, source;
|
|
181
|
+
var capturer, image, err_1, sources, source;
|
|
181
182
|
return __generator(this, function (_b) {
|
|
182
183
|
switch (_b.label) {
|
|
183
184
|
case 0:
|
|
184
185
|
(0, logger_1.default)('SCREENSHOTS:capture');
|
|
186
|
+
_b.label = 1;
|
|
187
|
+
case 1:
|
|
188
|
+
_b.trys.push([1, 3, , 5]);
|
|
189
|
+
capturer = node_screenshots_1.Screenshots.fromDisplay(display.id);
|
|
190
|
+
(0, logger_1.default)('SCREENSHOTS:NodeScreenshots.fromDisplay(%d) %o', display.id, capturer);
|
|
191
|
+
if (!capturer) {
|
|
192
|
+
throw new Error("NodeScreenshots.fromDisplay(".concat(display.id, ") get null"));
|
|
193
|
+
}
|
|
194
|
+
return [4 /*yield*/, capturer.capture()];
|
|
195
|
+
case 2:
|
|
196
|
+
image = _b.sent();
|
|
197
|
+
this.$view.webContents.send('SCREENSHOTS:capture', display, "data:image/png;base64,".concat(image.toString('base64')));
|
|
198
|
+
return [3 /*break*/, 5];
|
|
199
|
+
case 3:
|
|
200
|
+
err_1 = _b.sent();
|
|
201
|
+
(0, logger_1.default)('SCREENSHOTS:capturer.capture() error %o', err_1);
|
|
185
202
|
return [4 /*yield*/, electron_1.desktopCapturer.getSources({
|
|
186
203
|
types: ['screen'],
|
|
187
204
|
thumbnailSize: {
|
|
@@ -189,8 +206,9 @@ var Screenshots = /** @class */ (function (_super) {
|
|
|
189
206
|
height: display.height
|
|
190
207
|
}
|
|
191
208
|
})];
|
|
192
|
-
case
|
|
209
|
+
case 4:
|
|
193
210
|
sources = _b.sent();
|
|
211
|
+
source = void 0;
|
|
194
212
|
// Linux系统上,screen.getDisplayNearestPoint 返回的 Display 对象的 id 和 这儿 source 对象上的 display_id(Linux上,这个值是空字符串) 或 id 的中间部分,都不一致
|
|
195
213
|
// 但是,如果只有一个显示器的话,其实不用判断,直接返回就行
|
|
196
214
|
if (sources.length === 1) {
|
|
@@ -208,7 +226,8 @@ var Screenshots = /** @class */ (function (_super) {
|
|
|
208
226
|
return [2 /*return*/];
|
|
209
227
|
}
|
|
210
228
|
this.$view.webContents.send('SCREENSHOTS:capture', display, source.thumbnail.toDataURL());
|
|
211
|
-
return [
|
|
229
|
+
return [3 /*break*/, 5];
|
|
230
|
+
case 5: return [2 /*return*/];
|
|
212
231
|
}
|
|
213
232
|
});
|
|
214
233
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "electron-screenshots",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "electron 截图插件",
|
|
5
5
|
"types": "lib/screenshots.d.ts",
|
|
6
6
|
"main": "lib/screenshots.js",
|
|
@@ -36,7 +36,8 @@
|
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"debug": "^4.3.3",
|
|
39
|
-
"
|
|
39
|
+
"node-screenshots": "^0.0.2",
|
|
40
|
+
"react-screenshots": "^0.3.1"
|
|
40
41
|
},
|
|
41
42
|
"peerDependencies": {
|
|
42
43
|
"electron": ">=11"
|
|
@@ -55,5 +56,5 @@
|
|
|
55
56
|
"rimraf": "^3.0.2",
|
|
56
57
|
"typescript": "^4.5.5"
|
|
57
58
|
},
|
|
58
|
-
"gitHead": "
|
|
59
|
+
"gitHead": "9249caaff3da43effcf0b4ae72d2691c0d7d4595"
|
|
59
60
|
}
|