void OnGUI()
    {
        m_gradient     = EditorGUILayout.GradientField(m_gradient);
        m_textureWidth = EditorGUILayout.IntField(m_textureWidth);

        if (GUILayout.Button("Generate"))
        {
            string path    = EditorUtility.SaveFilePanel("Save", "", "Gradient", "png");
            var    pngData = m_gradient.CreateTexture(m_textureWidth).EncodeToPNG();
            File.WriteAllBytes(path, pngData);
        }
    }