ENH: CLI: add support for colored obj

jira: no-jira
Change-Id: If9e698d60b71e8835a3ae46c75e9c8c2878556a7
(cherry picked from commit a2b2ec9cb80e3bafabd07a377aff9e11188be346)
(cherry picked from commit 201d3b18cc9d482192c9962717527f9e12ed6603)
This commit is contained in:
lane.wei
2024-07-13 18:39:05 +08:00
committed by Noisyfox
parent cfa00b938f
commit d4d86a5966
4 changed files with 204 additions and 20 deletions

View File

@@ -29,4 +29,14 @@ float calc_color_distance(wxColour c1, wxColour c2)
return DeltaE76(lab[0][0], lab[0][1], lab[0][2], lab[1][0], lab[1][1], lab[1][2]);
}
float calc_color_distance(RGBA c1, RGBA c2)
{
float lab[2][3];
RGB2Lab(c1[0], c1[1], c1[2], &lab[0][0], &lab[0][1], &lab[0][2]);
RGB2Lab(c2[0], c2[1], c2[2], &lab[1][0], &lab[1][1], &lab[1][2]);
return DeltaE76(lab[0][0], lab[0][1], lab[0][2], lab[1][0], lab[1][1], lab[1][2]);
}
} }

View File

@@ -3,10 +3,18 @@
#include <wx/colour.h>
#include "libslic3r/Color.hpp"
#include "slic3r/Utils/ColorSpaceConvert.hpp"
struct ColorDistValue
{
int id;
float distance;
};
namespace Slic3r { namespace GUI {
wxColour convert_to_wxColour(const RGBA &color);
RGBA convert_to_rgba(const wxColour &color);
float calc_color_distance(wxColour c1, wxColour c2);
float calc_color_distance(RGBA c1, RGBA c2);
} // namespace GUI
} // namespace Slic3r

View File

@@ -13,11 +13,7 @@
class Button;
class Label;
class ComboBox;
struct ColorDistValue
{
int id;
float distance;
};
class ObjColorPanel : public wxPanel
{
public: