1 #pragma once
2 
3 #ifndef igs_hls_adjust_h
4 #define igs_hls_adjust_h
5 
6 #ifndef IGS_HLS_ADJUST_EXPORT
7 #define IGS_HLS_ADJUST_EXPORT
8 #endif
9 
10 namespace igs {
11 namespace hls_adjust {
12 IGS_HLS_ADJUST_EXPORT void change(
13     unsigned char *image_array, const int height, const int width,
14     const int channels, const int bits
15 
16     ,
17     const unsigned char *ref /* 求める画像と同じ高、幅、channels数 */
18     ,
19     const int ref_bits /* refがゼロのときはここもゼロ */
20     ,
21     const int ref_mode /* 0=R,1=G,2=B,3=A,4=Luminance,5=Nothing */
22 
23     ,
24     const double hue_pivot /* 0.0  ...0...360... */
25     ,
26     const double hue_scale /* 1.0  ...1...       */
27     ,
28     const double hue_shift /* 0.0  ...0...360... */
29     ,
30     const double lig_pivot /* 0.0  ...0...1...   */
31     ,
32     const double lig_scale /* 1.0  ...1...       */
33     ,
34     const double lig_shift /* 0.0  ...0...1...   */
35     ,
36     const double sat_pivot /* 0.0  ...0...1...   */
37     ,
38     const double sat_scale /* 1.0  ...1...       */
39     ,
40     const double sat_shift /* 0.0  ...0...1...   */
41 
42     ,
43     const bool add_blend_sw
44     /* 効果(変化量)をアルファブレンドするか否かのスイッチ
45                 add_blend_sw == true
46                     アルファ値によりRGBの変化量を調整する
47                     合成方法が
48                             合成画 = 下絵 * (1 - alpha) + 上絵
49                     の場合こちらを使う
50                 add_blend_sw == false
51                     アルファ値に関係なくRGBが変化する
52                     合成方法が
53                             合成画 = 下絵 * (1 - alpha) + 上絵 * alpha
54                     の場合こちらを使う
55             */
56     );
57 }
58 }
59 
60 #endif /* !igs_hls_adjust_h */
61