45 lines
1.3 KiB
C#
45 lines
1.3 KiB
C#
using TimelapseApi;
|
|
using Eto.Forms;
|
|
using System;
|
|
using SixLabors.ImageSharp;
|
|
using SixLabors.ImageSharp.PixelFormats;
|
|
using SixLabors.ImageSharp.Processing;
|
|
using SixLabors.Fonts;
|
|
namespace ClockExtension
|
|
{
|
|
public class Rgb
|
|
{
|
|
public byte Red {get;set;}
|
|
public byte Green {get;set;}
|
|
|
|
public byte Blue {get;set;}
|
|
|
|
public static implicit operator Rgb24(Rgb color)
|
|
{
|
|
return new Rgb24(color.Red,color.Green,color.Blue);
|
|
}
|
|
public static implicit operator Rgb(Color c)
|
|
{
|
|
return c.ToPixel<Rgb24>();
|
|
}
|
|
public static implicit operator Color(Rgb color)
|
|
{
|
|
return new Color(color);
|
|
}
|
|
public static implicit operator Rgb(Rgb24 color)
|
|
{
|
|
return new Rgb {Red=color.R,Green=color.G,Blue = color.B};
|
|
}
|
|
public static implicit operator Eto.Drawing.Color(Rgb color)
|
|
{
|
|
return new Eto.Drawing.Color((float)(color.Red/255.0),(float)(color.Green/255.0),(float)(color.Blue/255.0));
|
|
}
|
|
public static implicit operator Rgb(Eto.Drawing.Color color)
|
|
{
|
|
byte r=(byte)(color.R * 255);
|
|
byte g=(byte)(color.G * 255);
|
|
byte b=(byte)(color.B * 255);
|
|
return new Rgb{Red=r,Green=g,Blue=b};
|
|
}
|
|
}
|
|
} |