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); } }