Index: ui/gfx/color_analysis.cc |
diff --git a/ui/gfx/color_analysis.cc b/ui/gfx/color_analysis.cc |
index f23da853e43f119bf7ebb7e38d95db9f62f5b22d..24b0ca74fef9e755ab5ab6cddf0c298bafac20c3 100644 |
--- a/ui/gfx/color_analysis.cc |
+++ b/ui/gfx/color_analysis.cc |
@@ -68,9 +68,9 @@ class KMeanCluster { |
// next iteration. |
inline void RecomputeCentroid() { |
if (counter > 0) { |
- centroid[0] = aggregate[0] / counter; |
- centroid[1] = aggregate[1] / counter; |
- centroid[2] = aggregate[2] / counter; |
+ centroid[0] = static_cast<uint8_t>(aggregate[0] / counter); |
+ centroid[1] = static_cast<uint8_t>(aggregate[1] / counter); |
+ centroid[2] = static_cast<uint8_t>(aggregate[2] / counter); |
aggregate[0] = aggregate[1] = aggregate[2] = 0; |
weight = counter; |
@@ -468,24 +468,33 @@ gfx::Matrix3F ComputeColorCovariance(const SkBitmap& bitmap) { |
// of R, G and B channels with (R, G, B) |
int pixel_n = bitmap.width() * bitmap.height(); |
covariance.set( |
- (static_cast<double>(rr_sum) / pixel_n - |
- static_cast<double>(r_sum * r_sum) / pixel_n / pixel_n), |
- (static_cast<double>(rg_sum) / pixel_n - |
- static_cast<double>(r_sum * g_sum) / pixel_n / pixel_n), |
- (static_cast<double>(rb_sum) / pixel_n - |
- static_cast<double>(r_sum * b_sum) / pixel_n / pixel_n), |
- (static_cast<double>(rg_sum) / pixel_n - |
- static_cast<double>(r_sum * g_sum) / pixel_n / pixel_n), |
- (static_cast<double>(gg_sum) / pixel_n - |
- static_cast<double>(g_sum * g_sum) / pixel_n / pixel_n), |
- (static_cast<double>(gb_sum) / pixel_n - |
- static_cast<double>(g_sum * b_sum) / pixel_n / pixel_n), |
- (static_cast<double>(rb_sum) / pixel_n - |
- static_cast<double>(r_sum * b_sum) / pixel_n / pixel_n), |
- (static_cast<double>(gb_sum) / pixel_n - |
- static_cast<double>(g_sum * b_sum) / pixel_n / pixel_n), |
- (static_cast<double>(bb_sum) / pixel_n - |
- static_cast<double>(b_sum * b_sum) / pixel_n / pixel_n)); |
+ static_cast<float>( |
+ static_cast<double>(rr_sum) / pixel_n - |
+ static_cast<double>(r_sum * r_sum) / pixel_n / pixel_n), |
+ static_cast<float>( |
+ static_cast<double>(rg_sum) / pixel_n - |
+ static_cast<double>(r_sum * g_sum) / pixel_n / pixel_n), |
+ static_cast<float>( |
+ static_cast<double>(rb_sum) / pixel_n - |
+ static_cast<double>(r_sum * b_sum) / pixel_n / pixel_n), |
+ static_cast<float>( |
+ static_cast<double>(rg_sum) / pixel_n - |
+ static_cast<double>(r_sum * g_sum) / pixel_n / pixel_n), |
+ static_cast<float>( |
+ static_cast<double>(gg_sum) / pixel_n - |
+ static_cast<double>(g_sum * g_sum) / pixel_n / pixel_n), |
+ static_cast<float>( |
+ static_cast<double>(gb_sum) / pixel_n - |
+ static_cast<double>(g_sum * b_sum) / pixel_n / pixel_n), |
+ static_cast<float>( |
+ static_cast<double>(rb_sum) / pixel_n - |
+ static_cast<double>(r_sum * b_sum) / pixel_n / pixel_n), |
+ static_cast<float>( |
+ static_cast<double>(gb_sum) / pixel_n - |
+ static_cast<double>(g_sum * b_sum) / pixel_n / pixel_n), |
+ static_cast<float>( |
+ static_cast<double>(bb_sum) / pixel_n - |
+ static_cast<double>(b_sum * b_sum) / pixel_n / pixel_n)); |
return covariance; |
} |
@@ -529,9 +538,9 @@ bool ApplyColorReduction(const SkBitmap& source_bitmap, |
else |
c = source_color_row[x]; |
- float r = SkColorGetR(c); |
- float g = SkColorGetG(c); |
- float b = SkColorGetB(c); |
+ U8CPU r = SkColorGetR(c); |
danakj
2014/10/18 18:40:06
uint8?
Peter Kasting
2014/10/20 23:38:56
Done.
|
+ U8CPU g = SkColorGetG(c); |
+ U8CPU b = SkColorGetB(c); |
float gray_level = tr * r + tg * g + tb * b; |
max_val = std::max(max_val, gray_level); |
min_val = std::min(min_val, gray_level); |
@@ -542,7 +551,7 @@ bool ApplyColorReduction(const SkBitmap& source_bitmap, |
float scale = 0.0; |
t0 = -min_val; |
if (max_val > min_val) |
- scale = 255.0 / (max_val - min_val); |
+ scale = 255.0f / (max_val - min_val); |
t0 *= scale; |
tr *= scale; |
tg *= scale; |
@@ -561,9 +570,9 @@ bool ApplyColorReduction(const SkBitmap& source_bitmap, |
else |
c = source_color_row[x]; |
- float r = SkColorGetR(c); |
- float g = SkColorGetG(c); |
- float b = SkColorGetB(c); |
+ U8CPU r = SkColorGetR(c); |
danakj
2014/10/18 18:40:06
uint8?
Peter Kasting
2014/10/20 23:38:56
Done.
|
+ U8CPU g = SkColorGetG(c); |
+ U8CPU b = SkColorGetB(c); |
float gl = t0 + tr * r + tg * g + tb * b; |
if (gl < 0) |