1 #pragma once 2 3 #ifndef igs_radial_blur_h 4 #define igs_radial_blur_h 5 6 #ifndef IGS_RADIAL_BLUR_EXPORT 7 #define IGS_RADIAL_BLUR_EXPORT 8 #endif 9 10 namespace igs { 11 namespace radial_blur { 12 IGS_RADIAL_BLUR_EXPORT void convert( 13 const unsigned char *in /* 余白付き */ 14 , 15 const int margin /* 参照画像(in)がもつ余白 */ 16 17 , 18 const unsigned char *ref /* outと同じ高さ、幅、チャンネル数 */ 19 , 20 const int ref_bits, 21 const int ref_mode // R,G,B,A,luminance or R,G,B,luminance 22 23 , 24 unsigned char *out /* 余白なし */ 25 26 , 27 const int height /* 求める画像(out)の高さ */ 28 , 29 const int width /* 求める画像(out)の幅 */ 30 , 31 const int channels, const int bits 32 33 , 34 const double xc, const double yc, const double twist_radian = 0.0, 35 const double twist_radius = 0.0, 36 const double intensity = 0.2 /* 強度。ゼロより大きく2以下 */ 37 , 38 const double radius = 0.0 /* ぼかしの始まる半径 */ 39 , 40 const int sub_div = 4 /* 1ならJaggy、2以上はAntialias */ 41 , 42 const bool alpha_rendering_sw = true); 43 #if 0 //-------------------- comment out start ------------------------ 44 IGS_RADIAL_BLUR_EXPORT int enlarge_margin( /* Twist時正確でない... */ 45 const int height 46 ,const int width 47 ,const double xc 48 ,const double yc 49 ,const double twist_radian 50 ,const double twist_radius 51 ,const double intensity=0.2/* 強度。ゼロより大きく2以下 */ 52 /* radius円境界での平均値ぼかしゼロとするためintensityは2以下 */ 53 ,const double radius=0.0 /* 平均値ぼかしの始まる半径 */ 54 ,const int sub_div=4 /* 1ならJaggy、2以上はAntialias */ 55 ); 56 #endif //-------------------- comment out end ------------------------- 57 IGS_RADIAL_BLUR_EXPORT int 58 reference_margin(/* Twist時正確でない... */ 59 const int height, const int width, const double xc, 60 const double yc, const double twist_radian, 61 const double twist_radius, 62 const double intensity = 0.2 /* 強度。ゼロより大きく2以下 */ 63 /* radius円境界での平均値ぼかしゼロとするためintensityは2以下 64 */ 65 , 66 const double radius = 0.0 /* 平均値ぼかしの始まる半径 */ 67 , 68 const int sub_div = 4 /* 1ならJaggy、2以上はAntialias */ 69 ); 70 } 71 } 72 73 #endif /* !igs_radial_blur_h */ 74