diff options
| author | Roy Ben Shabat <Roy.mail.net@gmail.com> | 2020-03-02 23:30:34 +0200 |
|---|---|---|
| committer | Roy Ben Shabat <Roy.mail.net@gmail.com> | 2020-03-02 23:30:34 +0200 |
| commit | 0dcd742a3c35527386a93e1b1ef761c2aeff8308 (patch) | |
| tree | d5adb3fee35e73af95fa5d68b5316d25522471de /Software/Visual_Studio/Tango.ScreenCapture/VectorDifferenceImage.cs | |
| parent | 1a7fb274158f8a0e279aef26206a65fefac8c4c3 (diff) | |
| download | Tango-0dcd742a3c35527386a93e1b1ef761c2aeff8308.tar.gz Tango-0dcd742a3c35527386a93e1b1ef761c2aeff8308.zip | |
Implemented Tango.RemoteDesktop.
Implemented png 8 bit quantization.
Implemented RasterFrame bounds clipping.
Refactored VectorFrame to use indexed colors.
Diffstat (limited to 'Software/Visual_Studio/Tango.ScreenCapture/VectorDifferenceImage.cs')
| -rw-r--r-- | Software/Visual_Studio/Tango.ScreenCapture/VectorDifferenceImage.cs | 114 |
1 files changed, 0 insertions, 114 deletions
diff --git a/Software/Visual_Studio/Tango.ScreenCapture/VectorDifferenceImage.cs b/Software/Visual_Studio/Tango.ScreenCapture/VectorDifferenceImage.cs deleted file mode 100644 index 7fa2c82df..000000000 --- a/Software/Visual_Studio/Tango.ScreenCapture/VectorDifferenceImage.cs +++ /dev/null @@ -1,114 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Drawing; -using System.IO; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Tango.ScreenCapture -{ - public class VectorDifferenceImage - { - public int Width { get; private set; } - public int Height { get; private set; } - - public List<VectorImagePixel> Pixels { get; private set; } - - public VectorDifferenceImage(int width, int height) - { - Width = width; - Height = height; - Pixels = new List<VectorImagePixel>(); - } - - public Bitmap CreateBitmap() - { - DirectBitmap directBitmap = new DirectBitmap(Width, Height); - foreach (var pixel in Pixels) - { - directBitmap.SetPixel((int)pixel.X, (int)pixel.Y, Color.FromArgb(pixel.R, pixel.G, pixel.B)); - } - - directBitmap.Dispose(); - return directBitmap.Bitmap; - } - - public void ApplyOnBitmap(Bitmap bitmap) - { - using (FastBitmap fast = bitmap.FastLock()) - { - foreach (var pixel in Pixels) - { - fast.SetPixel((int)pixel.X, (int)pixel.Y, Color.FromArgb(pixel.R, pixel.G, pixel.B)); - } - } - } - - public byte[] Serialize() - { - using (MemoryStream ms = new MemoryStream()) - { - using (BinaryWriter writer = new BinaryWriter(ms)) - { - writer.Write(Width); - writer.Write(Height); - writer.Write(Pixels.Count); - - foreach (var pixel in Pixels) - { - writer.Write(pixel.X); - writer.Write(pixel.Y); - - writer.Write(pixel.R); - writer.Write(pixel.G); - writer.Write(pixel.B); - } - - ms.Position = 0; - return ms.ToArray(); - } - } - } - - public int CalculateSize() - { - int size = 0; - - size += sizeof(int) * 3; //Width, Height, Count - size += sizeof(ushort) * 2 * Pixels.Count; //X, Y - size += sizeof(byte) * 3 * Pixels.Count; //RGB - - return size; - } - - public static VectorDifferenceImage Deserialize(byte[] data) - { - using (MemoryStream ms = new MemoryStream(data)) - { - using (BinaryReader reader = new BinaryReader(ms)) - { - ms.Position = 0; - var vector = new VectorDifferenceImage(reader.ReadInt32(), reader.ReadInt32()); - - int count = reader.ReadInt32(); - - for (int i = 0; i < count; i++) - { - VectorImagePixel pixel = new VectorImagePixel(); - pixel.X = reader.ReadUInt16(); - pixel.Y = reader.ReadUInt16(); - - pixel.R = reader.ReadByte(); - pixel.G = reader.ReadByte(); - pixel.B = reader.ReadByte(); - - vector.Pixels.Add(pixel); - } - - return vector; - } - } - } - } -} |
