грабля не играй в доту (#151)

* the fuck (#752)

* the fuck

* more logs

* avoooo (#753)

* nyaUpdate (#754)

---------

Co-authored-by: haiwwkes <49613070+rhailrake@users.noreply.github.com>
This commit is contained in:
Jabak
2024-10-28 19:24:54 +03:00
committed by GitHub
parent 9c3d21cc44
commit 5a82110239
9 changed files with 871 additions and 0 deletions

View File

@@ -0,0 +1,38 @@
using System.IO;
using Content.Shared._Miracle.Nya;
using Robust.Client.Graphics;
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.PixelFormats;
namespace Content.Client._Miracle.Nya;
public sealed class NyaGrabSystem : EntitySystem
{
[Dependency] private readonly IClyde _clyde = default!;
public override void Initialize()
{
base.Initialize();
SubscribeNetworkEvent<ScreengrabRequestEvent>(OnScreengrabRequest);
}
private async void OnScreengrabRequest(ScreengrabRequestEvent ev)
{
var image = await _clyde.ScreenshotAsync(ScreenshotType.Final);
var array = ImageToByteArray(image);
if (array.Length > 1_500_000)
return;
var msg = new ScreengrabResponseEvent { Screengrab = array };
RaiseNetworkEvent(msg);
}
private byte[] ImageToByteArray(Image<Rgb24> image)
{
using var stream = new MemoryStream();
image.SaveAsJpeg(stream);
return stream.ToArray();
}
}