Chromium Code Reviews| 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) |