namespace Steamworks.Data { public struct Image { public uint Width; public uint Height; public byte[] Data; /// /// Returns the color of the pixel at the specified position. /// /// X-coordinate /// Y-coordinate /// The color. /// If the X and Y or out of bounds. public Color GetPixel( int x, int y ) { if ( x < 0 || x >= Width ) throw new System.ArgumentException( "x out of bounds" ); if ( y < 0 || y >= Height ) throw new System.ArgumentException( "y out of bounds" ); Color c = new Color(); var i = (y * Width + x) * 4; c.r = Data[i + 0]; c.g = Data[i + 1]; c.b = Data[i + 2]; c.a = Data[i + 3]; return c; } /// /// Returns "{Width}x{Height} ({length of }bytes)" /// /// public override string ToString() { return $"{Width}x{Height} ({Data.Length}bytes)"; } } /// /// Represents a color. /// public struct Color { public byte r, g, b, a; } }