Skip to content

Commit 9b27075

Browse files
committed
Add full NativeImage support for Electron.NET
1 parent e295558 commit 9b27075

File tree

14 files changed

+430
-113
lines changed

14 files changed

+430
-113
lines changed

ElectronNET.API/Clipboard.cs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
using Newtonsoft.Json.Linq;
55
using Newtonsoft.Json.Serialization;
66
using System.Threading.Tasks;
7+
using Console = System.Console;
78

89
namespace ElectronNET.API
910
{
@@ -251,10 +252,7 @@ public Task<NativeImage> ReadImageAsync(string type = "")
251252
{
252253
BridgeConnector.Socket.Off("clipboard-readImage-Completed");
253254

254-
var b64 = image.ToString();
255-
var bytes = Convert.FromBase64String(b64);
256-
257-
var nativeImage = NativeImage.CreateFromBuffer(bytes);
255+
var nativeImage = ((JObject)image).ToObject<NativeImage>();
258256

259257
taskCompletionSource.SetResult(nativeImage);
260258

@@ -272,7 +270,7 @@ public Task<NativeImage> ReadImageAsync(string type = "")
272270
/// <param name="type"></param>
273271
public void WriteImage(NativeImage image, string type = "")
274272
{
275-
BridgeConnector.Socket.Emit("clipboard-writeImage", JsonConvert.SerializeObject(image.GetBytes()), type);
273+
BridgeConnector.Socket.Emit("clipboard-writeImage", JsonConvert.SerializeObject(image), type);
276274
}
277275

278276
private JsonSerializer _jsonSerializer = new JsonSerializer()

ElectronNET.API/Entities/AddRepresentationOptions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ public class AddRepresentationOptions
44
{
55
public int? Width { get; set; }
66
public int? Height { get; set; }
7-
public int ScaleFactor { get; set; }
7+
public float ScaleFactor { get; set; } = 1.0f;
88
public byte[] Buffer { get; set; }
99
public string DataUrl { get; set; }
1010
}

ElectronNET.API/Entities/BitmapOptions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@ namespace ElectronNET.API.Entities
66
{
77
public class BitmapOptions
88
{
9-
public double ScaleFactor { get; set; } = 1.0d;
9+
public float ScaleFactor { get; set; } = 1.0f;
1010
}
1111
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Text;
4+
5+
namespace ElectronNET.API.Entities
6+
{
7+
public class CreateFromBitmapOptions
8+
{
9+
public int? Width { get; set; }
10+
public int? Height { get; set; }
11+
public float ScaleFactor { get; set; } = 1.0f;
12+
}
13+
}

ElectronNET.API/Entities/CreateFromBufferOptions.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ namespace ElectronNET.API.Entities
22
{
33
public class CreateFromBufferOptions
44
{
5-
public int Width { get; set; }
6-
public int Height { get; set; }
7-
public int ScaleFactor { get; set; }
5+
public int? Width { get; set; }
6+
public int? Height { get; set; }
7+
public float ScaleFactor { get; set; } = 1.0f;
88
}
99
}

0 commit comments

Comments
 (0)