Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(923)

Unified Diff: ui/gfx/color_analysis.h

Issue 2690513002: Port Android palette API for deriving a prominent color from an image. (Closed)
Patch Set: another comment update Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | ui/gfx/color_analysis.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/gfx/color_analysis.h
diff --git a/ui/gfx/color_analysis.h b/ui/gfx/color_analysis.h
index 7ac91464e1890b06b8c2c955d7fbb29b28e7ecc3..09a5df6b8b32fe355347ea0418c8ad8fadbf2157 100644
--- a/ui/gfx/color_analysis.h
+++ b/ui/gfx/color_analysis.h
@@ -108,6 +108,30 @@ GFX_EXPORT SkColor CalculateKMeanColorOfBitmap(const SkBitmap& bitmap,
// for |lower_bound|, |upper_bound| and |sampler|.
GFX_EXPORT SkColor CalculateKMeanColorOfBitmap(const SkBitmap& bitmap);
+// These enums specify general values to look for when calculating prominent
+// colors from an image. For example, a "light vibrant" prominent color would
+// tend to be brighter and more saturated. The best combination of color
+// attributes depends on how you plan to apply the color.
+enum class LumaRange {
+ LIGHT,
+ NORMAL,
+ DARK,
+};
+
+enum class SaturationRange {
+ VIBRANT,
+ MUTED,
+};
+
+// Returns a single RGB color that represents the bitmap. If a value is
+// succesfully calculated, the return value is fully opaque. For failure, the
+// return value is transparent. This currently calculates one color at a time.
+// We could save computation by calculating multiple colors at once, but there's
+// currently no need to calculate multiple colors.
+GFX_EXPORT SkColor CalculateProminentColorOfBitmap(const SkBitmap& bitmap,
+ LumaRange luma,
+ SaturationRange saturation);
+
// Compute color covariance matrix for the input bitmap.
GFX_EXPORT gfx::Matrix3F ComputeColorCovariance(const SkBitmap& bitmap);
« no previous file with comments | « no previous file | ui/gfx/color_analysis.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698