#3919 Contrast colors for contour lines

This commit is contained in:
Gaute Lindkvist 2018-12-21 09:35:41 +01:00
parent 22f054c6b9
commit 9fdec77c94
3 changed files with 27 additions and 5 deletions

View File

@ -81,13 +81,33 @@ cvf::Color3f RiaColorTools::brightContrastColor()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
cvf::Color3f RiaColorTools::constrastColor(cvf::Color3f backgroundColor) cvf::Color3f RiaColorTools::darkContrastColorSofter()
{
return cvf::Color3f::fromByteColor(30, 30, 30);
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
cvf::Color3f RiaColorTools::brightContrastColorSofter()
{
return cvf::Color3f::fromByteColor(200, 200, 200);
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
cvf::Color3f RiaColorTools::constrastColor(cvf::Color3f backgroundColor, bool softerContrast)
{ {
if (isBrightnessAboveThreshold(backgroundColor)) if (isBrightnessAboveThreshold(backgroundColor))
{ {
if (softerContrast)
return darkContrastColorSofter();
return darkContrastColor(); return darkContrastColor();
} }
if (softerContrast)
return brightContrastColorSofter();
return brightContrastColor(); return brightContrastColor();
} }

View File

@ -36,7 +36,9 @@ public:
static cvf::Color3f computeOffsetColor(cvf::Color3f color, float offsetFactor); static cvf::Color3f computeOffsetColor(cvf::Color3f color, float offsetFactor);
static cvf::Color3f darkContrastColor(); static cvf::Color3f darkContrastColor();
static cvf::Color3f brightContrastColor(); static cvf::Color3f brightContrastColor();
static cvf::Color3f constrastColor(cvf::Color3f backgroundColor); static cvf::Color3f darkContrastColorSofter();
static cvf::Color3f brightContrastColorSofter();
static cvf::Color3f constrastColor(cvf::Color3f backgroundColor, bool softerContrast = false);
static QColor toQColor(cvf::Color3f color, float alpha = 1.0f); static QColor toQColor(cvf::Color3f color, float alpha = 1.0f);
static QColor toQColor(cvf::Color4f color); static QColor toQColor(cvf::Color4f color);
static float contrastRatio(cvf::Color3f color1, cvf::Color3f color2); static float contrastRatio(cvf::Color3f color1, cvf::Color3f color2);

View File

@ -62,7 +62,7 @@ void RivContourMapProjectionPartMgr::appendProjectionToModel(cvf::ModelBasicList
std::vector<cvf::ref<cvf::Drawable>> contourDrawables = contourDrawablesForAllLevels[i]; std::vector<cvf::ref<cvf::Drawable>> contourDrawables = contourDrawablesForAllLevels[i];
cvf::Color3f backgroundColor(mapper->mapToColor(tickValues[i])); cvf::Color3f backgroundColor(mapper->mapToColor(tickValues[i]));
cvf::Color3f lineColor = RiaColorTools::constrastColor(backgroundColor); cvf::Color3f lineColor = RiaColorTools::constrastColor(backgroundColor, true);
for (cvf::ref<cvf::Drawable> contourDrawable : contourDrawables) for (cvf::ref<cvf::Drawable> contourDrawable : contourDrawables)
{ {
@ -175,7 +175,7 @@ cvf::ref<cvf::DrawableText> RivContourMapProjectionPartMgr::createTextLabel(cons
cvf::ref<cvf::DrawableText> labelDrawable = new cvf::DrawableText(); cvf::ref<cvf::DrawableText> labelDrawable = new cvf::DrawableText();
labelDrawable->setFont(font.p()); labelDrawable->setFont(font.p());
labelDrawable->setCheckPosVisible(true); labelDrawable->setCheckPosVisible(true);
labelDrawable->setUseDepthBuffer(false); labelDrawable->setUseDepthBuffer(true);
labelDrawable->setDrawBorder(true); labelDrawable->setDrawBorder(true);
labelDrawable->setDrawBackground(true); labelDrawable->setDrawBackground(true);
labelDrawable->setBackgroundColor(backgroundColor); labelDrawable->setBackgroundColor(backgroundColor);