Add full NativeImage support for Electron.NET

This commit is contained in:
ThrDev
2020-05-06 19:05:21 -04:00
parent e295558258
commit 9b270755d0
14 changed files with 432 additions and 115 deletions

View File

@@ -50,11 +50,18 @@ module.exports = (socket) => {
});
socket.on('clipboard-readImage', (type) => {
const image = electron_1.clipboard.readImage(type);
electronSocket.emit('clipboard-readImage-Completed', image.getNativeHandle().buffer);
electronSocket.emit('clipboard-readImage-Completed', { 1: image.toPNG().toString('base64') });
});
socket.on('clipboard-writeImage', (data, type) => {
const buff = Buffer.from(JSON.parse(data), 'base64');
const ni = electron_1.nativeImage.createFromBuffer(buff);
var data = JSON.parse(data);
const ni = electron_1.nativeImage.createEmpty();
for (var i in data) {
var scaleFactor = i;
var bytes = data[i];
var buff = Buffer.from(bytes, 'base64');
ni.addRepresentation({ scaleFactor: scaleFactor, buffer: buff });
}
electron_1.clipboard.writeImage(ni, type);
});
};

View File

@@ -63,13 +63,19 @@ export = (socket: SocketIO.Socket) => {
socket.on('clipboard-readImage', (type) => {
var image = clipboard.readImage(type);
var b64 = image.getNativeHandle().buffer.toString('base64');
electronSocket.emit('clipboard-readImage-Completed', b64);
electronSocket.emit('clipboard-readImage-Completed', { 1: image.toPNG().toString('base64') });
});
socket.on('clipboard-writeImage', (data, type) => {
var buff = Buffer.from(JSON.parse(data), 'base64');
const ni = nativeImage.createFromBuffer(buff);
var data = JSON.parse(data);
const ni = nativeImage.createEmpty();
for (var i in data) {
var scaleFactor = i;
var bytes = data[i];
var buff = Buffer.from(bytes, 'base64');
ni.addRepresentation({ scaleFactor: +scaleFactor, buffer: buff });
}
clipboard.writeImage(ni, type);
});
};