| 684 | } |
| 685 | |
| 686 | std::vector<Rgb> ColorSpectrumHSV(Rgb &a, Rgb &b, size_t n) |
| 687 | { |
| 688 | std::vector<Rgb> result(n); |
| 689 | |
| 690 | Hsv hsv_a, hsv_b; |
| 691 | a.To<Hsv>(&hsv_a); |
| 692 | b.To<Hsv>(&hsv_b); |
| 693 | |
| 694 | double h_itv = (hsv_b.h - hsv_a.h) / (n-1); |
| 695 | double s_itv = (hsv_b.s - hsv_a.s) / (n-1); |
| 696 | double v_itv = (hsv_b.v - hsv_a.v) / (n-1); |
| 697 | |
| 698 | for (size_t i=0; i<n; ++i) { |
| 699 | Hsv hsv_c; |
| 700 | hsv_c.h = hsv_a.h + h_itv * i; |
| 701 | hsv_c.s = hsv_a.s + s_itv * i; |
| 702 | hsv_c.v = hsv_a.v + v_itv * i; |
| 703 | |
| 704 | hsv_c.To<Rgb>(&result[i]); |
| 705 | } |
| 706 | |
| 707 | return result; |
| 708 | } |
| 709 | } |
| 710 | |
| 711 |
no outgoing calls
no test coverage detected