private static UnmanagedImage createGradient(int size)
{
byte[,] gradient = new byte[size, size];
for (int i = 0; i < size; i++)
for (int j = 0; j < size; j++)
gradient[i, j] = (byte)j;
UnmanagedImage output;
new MatrixToImage().Convert(gradient, out output);
return output;
}