From 0a92785fccc28b974b61abf2c8883f480ef1f64d Mon Sep 17 00:00:00 2001 From: sigonasr2 Date: Sun, 29 May 2022 19:09:26 -0500 Subject: [PATCH] Screen sharing now functioning Co-authored-by: sigonasr2 --- bin/SigShare.jar | Bin 10223 -> 10599 bytes src/sig/SigShare.java | 37 ++++++++++++++++++++++++++++++------- 2 files changed, 30 insertions(+), 7 deletions(-) diff --git a/bin/SigShare.jar b/bin/SigShare.jar index 427246b8d83ca192fda216fe25bb8b3dcc1ffae6..a4edff4078558c776edde165d15322f05d1146e9 100644 GIT binary patch delta 3841 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 MHOX@?CH_?Y2UH??t^fc4 diff --git a/src/sig/SigShare.java b/src/sig/SigShare.java index fce89db..ac0e8df 100644 --- a/src/sig/SigShare.java +++ b/src/sig/SigShare.java @@ -3,6 +3,7 @@ package sig; import java.io.BufferedReader; import java.io.DataInputStream; import java.io.DataOutputStream; +import java.io.File; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStream; @@ -11,14 +12,17 @@ import java.net.ServerSocket; import java.net.Socket; import java.util.regex.Pattern; +import javax.imageio.ImageIO; import javax.swing.JFrame; import java.awt.Toolkit; import sig.engine.Panel; import java.awt.AWTException; import java.awt.GraphicsEnvironment; +import java.awt.Image; import java.awt.image.BufferedImage; import java.awt.Robot; +import java.awt.Graphics2D; public class SigShare { static Robot r; @@ -35,13 +39,14 @@ public class SigShare { System.out.println("Sending initial data..."); BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream(),"ISO-8859-1")); DataOutputStream clientOutput = new DataOutputStream(client.getOutputStream()); - int SCREEN_WIDTH=(int)GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getWidth(); - int SCREEN_HEIGHT=(int)GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getHeight(); + double SCREEN_MULT=2; + int SCREEN_WIDTH=(int)(GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getWidth()/SCREEN_MULT); + int SCREEN_HEIGHT=(int)(GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getHeight()/SCREEN_MULT); int[] pixels = new int[SCREEN_WIDTH*SCREEN_HEIGHT]; clientOutput.write(("DESKTOP "+SCREEN_WIDTH+" "+SCREEN_HEIGHT+"\r\n").getBytes()); System.out.println("Send initial screen"); //char[] screen = new char[SCREEN_WIDTH*SCREEN_HEIGHT]; - BufferedImage screenshot = CaptureScreen(); + BufferedImage screenshot = CaptureScreen(SCREEN_WIDTH,SCREEN_HEIGHT); for (int y=0;y