private void OnGUI()
        {
            ColorAssistantUtils.DrawHeader();

            EditorGUILayout.BeginVertical(EditorStyles.helpBox);
            var buttonText = _texture == null ? "Import Image" : "Replace Image";

            if (GUILayout.Button(buttonText))
            {
                _texture = ColorAssistantUtils.GetTextureFromExplorer();
            }
            if (_texture)
            {
                (_width, _texRect) = ColorAssistantUtils.DrawTexture(_texture, _maxHeight);
            }
            EditorGUILayout.EndVertical();

            if (_texture)
            {
                EditorGUILayout.BeginVertical(EditorStyles.helpBox);
                EditorGUILayout.BeginHorizontal();
                _tolerance = EditorGUILayout.Slider("Tolerance Filter", _tolerance, 0.1f, 1f);
                if (GUILayout.Button("Process"))
                {
                    _tempTex = ColorAssistantUtils.GetCopyTexture(_texture);
                    ProcessTempTexture();
                }
                EditorGUILayout.EndHorizontal();
                ColorAssistantUtils.DrawColorPalette(_filteredColors, 200, 20);
                EditorGUILayout.EndVertical();
            }
        }
Exemple #2
0
        private void OnGUI()
        {
            ColorAssistantUtils.DrawHeader();

            //Get Resize and draw texture
            EditorGUILayout.BeginVertical(EditorStyles.helpBox);
            var buttonText = _texture == null ? "Import Image" : "Replace Image";

            if (GUILayout.Button(buttonText))
            {
                _palette.Clear();
                _texture         = ColorAssistantUtils.GetTextureFromExplorer();
                _originalTexture = Instantiate(_texture);
                _texture         = ColorAssistantUtils.RescaleTexture(_texture, 100, true);
                _binCreatedTex   = null;
                _voteTex         = null;
            }

            EditorGUILayout.EndVertical();

            _debug = EditorGUILayout.Foldout(_debug, "Debug");
            if (_debug)
            {
                Debug();
            }
            GUILayout.Space(10);

            if (_originalTexture)
            {
                ColorAssistantUtils.DrawTexture(_originalTexture, 300);
            }

            GUILayout.Space(10);
            GUILayout.BeginVertical(EditorStyles.helpBox);
            GUILayout.BeginHorizontal();
            _threshold1 = EditorGUILayout.Slider("Color Difference Threshold", _threshold1, 0f, 1f);
            if (GUILayout.Button("Auto threshold"))
            {
                _threshold1 = 0.45f;
            }
            GUILayout.EndHorizontal();
            if (GUILayout.Button("Generate Palette"))
            {
                ProcessInit();
                for (int i = 0; i < 20; i++)
                {
                    ProcessStep();
                    if (_maxSp < _threshold2)
                    {
                        break;
                    }
                }
            }

            if (GUILayout.Button("Clear Data"))
            {
                _palette.Clear();
            }
            ColorAssistantUtils.DrawColorPalette(_palette, 200, 20);
            GUILayout.EndVertical();
        }