SDXFrameWork  0.07
SDXFrameWork
 全て クラス ネームスペース 関数 変数 列挙型 列挙型の値 ページ
Blend.h
1 #pragma once//☀SDL
2 #include<Multimedia/Image.h>
3 
4 namespace SDX
5 {
10 class Blend
11 {
12 public:
15  bool Add( Image* 合成イメージ , const Image *入力イメージ ,double 合成率 = 1.0)
16  {
17  return false;
18  }
19 
25  bool Burn( Image* 合成イメージ , const Image *入力イメージ,double 合成率 = 1.0)
26  {
27  return false;
28  }
29 
32  bool Darken( Image* 合成イメージ , const Image *入力イメージ,double 合成率 = 1.0)
33  {
34  return false;
35  }
36 
39  bool Difference( Image* 合成イメージ , const Image *入力イメージ,double 合成率 = 1.0)
40  {
41  return false;
42  }
43 
49  bool Dodge( Image* 合成イメージ , const Image *入力イメージ,double 合成率 = 1.0)
50  {
51  return false;
52  }
53 
58  bool Exclusion( Image* 合成イメージ , const Image *入力イメージ,double 合成率 = 1.0)
59  {
60  return false;
61  }
62 
65  bool HardLight( Image* 合成イメージ , const Image *入力イメージ,double 合成率 = 1.0)
66  {
67  return false;
68  }
69 
72  bool Lighten( Image* 合成イメージ , const Image *入力イメージ,double 合成率 = 1.0)
73  {
74  return false;
75  }
76 
81  bool Multiple( Image* 合成イメージ , const Image *入力イメージ,double 合成率 = 1.0)
82  {
83  return false;
84  }
85 
89  bool Normal( Image* 合成イメージ , const Image *入力イメージ,double 合成率 = 1.0)
90  {
91  return false;
92  }
93 
101  bool OverLay( Image* 合成イメージ , const Image *入力イメージ,double 合成率 = 1.0)
102  {
103  return false;
104  }
105 
109  bool RgbaSelectMix( Image* 合成イメージ , const Image *入力イメージ, RGBA 赤要素 , RGBA 緑要素 , RGBA 青要素 , RGBA 透明要素 ,double 合成率 = 1.0)
110  {
111  return false;
112  }
113 
118  bool Screen( Image* 合成イメージ , const Image *入力イメージ,double 合成率 = 1.0)
119  {
120  return false;
121  }
122 
130  bool SoftLight( Image* 合成イメージ , const Image *入力イメージ,double 合成率)
131  {
132  return false;
133  }
134 };
135 
140 class BlendBlt
141 {
142 public:
144  static Image Add(const Image *合成元A,const Image *合成元B,double 合成率)
145  {
146  const int width = std::max( 合成元A->GetWidth() , 合成元B->GetWidth() );
147  const int height = std::max( 合成元A->GetHeight() , 合成元B->GetHeight() );
148  Image outPut( width , height , true , true , true );
149  return outPut;
150  }
151  static Image Add(const Image *合成元A,const Image *合成元B, int srcX1, int srcY1, int srcX2, int srcY2, int blendX, int blendY, int destX, int destY,double 合成率)
152  {
153  const int width = std::max( 合成元A->GetWidth() , 合成元B->GetWidth() );
154  const int height = std::max( 合成元A->GetHeight() , 合成元B->GetHeight() );
155  Image outPut( width , height , true , true , true );
156  return outPut;
157  }
158 
160  static Image Burn(const Image *合成元A,const Image *合成元B,double 合成率)
161  {
162  const int width = std::max(合成元A->GetWidth(), 合成元B->GetWidth());
163  const int height = std::max(合成元A->GetHeight(), 合成元B->GetHeight());
164  Image outPut(width, height, true, true, true);
165  return outPut;
166  }
167  static Image Burn(const Image *合成元A,const Image *合成元B, int srcX1, int srcY1, int srcX2, int srcY2, int blendX, int blendY, int destX, int destY,double 合成率)
168  {
169  const int width = std::max(合成元A->GetWidth(), 合成元B->GetWidth());
170  const int height = std::max(合成元A->GetHeight(), 合成元B->GetHeight());
171  Image outPut(width, height, true, true, true);
172  return outPut;
173  }
174 
176  static Image Darken(const Image *合成元A,const Image *合成元B,double 合成率)
177  {
178  const int width = std::max(合成元A->GetWidth(), 合成元B->GetWidth());
179  const int height = std::max(合成元A->GetHeight(), 合成元B->GetHeight());
180  Image outPut(width, height, true, true, true);
181  return outPut;
182  }
183  static Image Darken(const Image *合成元A,const Image *合成元B, int srcX1, int srcY1, int srcX2, int srcY2, int blendX, int blendY, int destX, int destY,double 合成率)
184  {
185  const int width = std::max(合成元A->GetWidth(), 合成元B->GetWidth());
186  const int height = std::max(合成元A->GetHeight(), 合成元B->GetHeight());
187  Image outPut(width, height, true, true, true);
188  return outPut;
189  }
190 
192  static Image Diference(const Image *合成元A,const Image *合成元B,double 合成率)
193  {
194  const int width = std::max(合成元A->GetWidth(), 合成元B->GetWidth());
195  const int height = std::max(合成元A->GetHeight(), 合成元B->GetHeight());
196  Image outPut(width, height, true, true, true);
197  return outPut;
198  }
199  static Image Difference(const Image *合成元A,const Image *合成元B, int srcX1, int srcY1, int srcX2, int srcY2, int blendX, int blendY, int destX, int destY,double 合成率)
200  {
201  const int width = std::max(合成元A->GetWidth(), 合成元B->GetWidth());
202  const int height = std::max(合成元A->GetHeight(), 合成元B->GetHeight());
203  Image outPut(width, height, true, true, true);
204  return outPut;
205  }
206 
208  static Image Dodge(const Image *合成元A,const Image *合成元B,double 合成率)
209  {
210  const int width = std::max(合成元A->GetWidth(), 合成元B->GetWidth());
211  const int height = std::max(合成元A->GetHeight(), 合成元B->GetHeight());
212  Image outPut(width, height, true, true, true);
213  return outPut;
214  }
215  static Image Dodge(const Image *合成元A,const Image *合成元B, int srcX1, int srcY1, int srcX2, int srcY2, int blendX, int blendY, int destX, int destY,double 合成率)
216  {
217  const int width = std::max(合成元A->GetWidth(), 合成元B->GetWidth());
218  const int height = std::max(合成元A->GetHeight(), 合成元B->GetHeight());
219  Image outPut(width, height, true, true, true);
220  return outPut;
221  }
222 
224  static Image Exclusion(const Image *合成元A,const Image *合成元B,double 合成率)
225  {
226  const int width = std::max(合成元A->GetWidth(), 合成元B->GetWidth());
227  const int height = std::max(合成元A->GetHeight(), 合成元B->GetHeight());
228  Image outPut(width, height, true, true, true);
229  return outPut;
230  }
231  static Image Exclusion(const Image *合成元A,const Image *合成元B, int srcX1, int srcY1, int srcX2, int srcY2, int blendX, int blendY, int destX, int destY,double 合成率)
232  {
233  const int width = std::max(合成元A->GetWidth(), 合成元B->GetWidth());
234  const int height = std::max(合成元A->GetHeight(), 合成元B->GetHeight());
235  Image outPut(width, height, true, true, true);
236  return outPut;
237  }
238 
240  static Image HardLight(const Image *合成元A,const Image *合成元B,double 合成率)
241  {
242  const int width = std::max(合成元A->GetWidth(), 合成元B->GetWidth());
243  const int height = std::max(合成元A->GetHeight(), 合成元B->GetHeight());
244  Image outPut(width, height, true, true, true);
245  return outPut;
246  }
247  static Image HardLight(const Image *合成元A,const Image *合成元B, int srcX1, int srcY1, int srcX2, int srcY2, int blendX, int blendY, int destX, int destY,double 合成率)
248  {
249  const int width = std::max(合成元A->GetWidth(), 合成元B->GetWidth());
250  const int height = std::max(合成元A->GetHeight(), 合成元B->GetHeight());
251  Image outPut(width, height, true, true, true);
252  return outPut;
253  }
254 
256  static Image Lighten(const Image *合成元A,const Image *合成元B,double 合成率)
257  {
258  const int width = std::max(合成元A->GetWidth(), 合成元B->GetWidth());
259  const int height = std::max(合成元A->GetHeight(), 合成元B->GetHeight());
260  Image outPut(width, height, true, true, true);
261 
262  return outPut;
263  }
264  static Image Lighten(const Image *合成元A,const Image *合成元B, int srcX1, int srcY1, int srcX2, int srcY2, int blendX, int blendY, int destX, int destY,double 合成率)
265  {
266  const int width = std::max(合成元A->GetWidth(), 合成元B->GetWidth());
267  const int height = std::max(合成元A->GetHeight(), 合成元B->GetHeight());
268  Image outPut(width, height, true, true, true);
269 
270  return outPut;
271  }
272 
274  static Image Multiple(const Image *合成元A,const Image *合成元B,double 合成率)
275  {
276  const int width = std::max(合成元A->GetWidth(), 合成元B->GetWidth());
277  const int height = std::max(合成元A->GetHeight(), 合成元B->GetHeight());
278  Image outPut(width, height, true, true, true);
279 
280  return outPut;
281  }
282  static Image Multiple(const Image *合成元A,const Image *合成元B, int srcX1, int srcY1, int srcX2, int srcY2, int blendX, int blendY, int destX, int destY,double 合成率)
283  {
284  const int width = std::max(合成元A->GetWidth(), 合成元B->GetWidth());
285  const int height = std::max(合成元A->GetHeight(), 合成元B->GetHeight());
286  Image outPut(width, height, true, true, true);
287 
288  return outPut;
289  }
290 
292  static Image Normal(const Image *合成元A,const Image *合成元B,double 合成率)
293  {
294  const int width = std::max(合成元A->GetWidth(), 合成元B->GetWidth());
295  const int height = std::max(合成元A->GetHeight(), 合成元B->GetHeight());
296  Image outPut(width, height, true, true, true);
297 
298  return outPut;
299  }
300  static Image Normal(const Image *合成元A,const Image *合成元B, int srcX1, int srcY1, int srcX2, int srcY2, int blendX, int blendY, int destX, int destY,double 合成率)
301  {
302  const int width = std::max(合成元A->GetWidth(), 合成元B->GetWidth());
303  const int height = std::max(合成元A->GetHeight(), 合成元B->GetHeight());
304  Image outPut(width, height, true, true, true);
305 
306  return outPut;
307  }
308 
310  static Image OverLay(const Image *合成元A,const Image *合成元B,double 合成率)
311  {
312  const int width = std::max(合成元A->GetWidth(), 合成元B->GetWidth());
313  const int height = std::max(合成元A->GetHeight(), 合成元B->GetHeight());
314  Image outPut(width, height, true, true, true);
315 
316  return outPut;
317  }
318  static Image OverLay(const Image *合成元A,const Image *合成元B, int srcX1, int srcY1, int srcX2, int srcY2, int blendX, int blendY, int destX, int destY,double 合成率)
319  {
320  const int width = std::max(合成元A->GetWidth(), 合成元B->GetWidth());
321  const int height = std::max(合成元A->GetHeight(), 合成元B->GetHeight());
322  Image outPut(width, height, true, true, true);
323 
324  return outPut;
325  }
326 
328  static Image RgbaSelectMix(const Image *合成元A,const Image *合成元B,double 合成率, RGBA selectR , RGBA selectG , RGBA selectB , RGBA selectA)
329  {
330  const int width = std::max(合成元A->GetWidth(), 合成元B->GetWidth());
331  const int height = std::max(合成元A->GetHeight(), 合成元B->GetHeight());
332  Image outPut(width, height, true, true, true);
333 
334  return outPut;
335  }
336  static Image RgbaSelect(const Image *合成元A,const Image *合成元B, int srcX1, int srcY1, int srcX2, int srcY2, int blendX, int blendY, int destX, int destY,double 合成率, RGBA selectR , RGBA selectG , RGBA selectB , RGBA selectA)
337  {
338  const int width = std::max(合成元A->GetWidth(), 合成元B->GetWidth());
339  const int height = std::max(合成元A->GetHeight(), 合成元B->GetHeight());
340  Image outPut(width, height, true, true, true);
341 
342  return outPut;
343  }
344 
346  static Image Screen(const Image *合成元A,const Image *合成元B,double 合成率)
347  {
348  const int width = std::max(合成元A->GetWidth(), 合成元B->GetWidth());
349  const int height = std::max(合成元A->GetHeight(), 合成元B->GetHeight());
350  Image outPut(width, height, true, true, true);
351 
352  return outPut;
353  }
354  static Image Screen(const Image *合成元A,const Image *合成元B, int srcX1, int srcY1, int srcX2, int srcY2, int blendX, int blendY, int destX, int destY,double 合成率)
355  {
356  const int width = std::max(合成元A->GetWidth(), 合成元B->GetWidth());
357  const int height = std::max(合成元A->GetHeight(), 合成元B->GetHeight());
358  Image outPut(width, height, true, true, true);
359 
360  return outPut;
361  }
362 
364  static Image SoftLight(const Image *合成元A,const Image *合成元B,double 合成率)
365  {
366  const int width = std::max(合成元A->GetWidth(), 合成元B->GetWidth());
367  const int height = std::max(合成元A->GetHeight(), 合成元B->GetHeight());
368  Image outPut(width, height, true, true, true);
369 
370  return outPut;
371  }
372  static Image SoftLight(const Image *合成元A,const Image *合成元B, int srcX1, int srcY1, int srcX2, int srcY2, int blendX, int blendY, int destX, int destY,double 合成率)
373  {
374  const int width = std::max(合成元A->GetWidth(), 合成元B->GetWidth());
375  const int height = std::max(合成元A->GetHeight(), 合成元B->GetHeight());
376  Image outPut(width, height, true, true, true);
377 
378  return outPut;
379  }
380 };
381 
382 
383 
384 }
static Image Screen(const Image *合成元A, const Image *合成元B, double 合成率)
説明.
Definition: Blend.h:346
static Image Dodge(const Image *合成元A, const Image *合成元B, double 合成率)
説明.
Definition: Blend.h:208
Image同士の合成処理を行う関数群[DXLIB].
Definition: Blend.h:10
static Image Diference(const Image *合成元A, const Image *合成元B, double 合成率)
説明.
Definition: Blend.h:192
static Image OverLay(const Image *合成元A, const Image *合成元B, double 合成率)
説明.
Definition: Blend.h:310
bool Add(Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0)
加算合成.
Definition: Blend.h:15
static Image Exclusion(const Image *合成元A, const Image *合成元B, double 合成率)
説明.
Definition: Blend.h:224
イメージを合成して合成.
Definition: Blend.h:140
bool OverLay(Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0)
オーバーレイ合成.
Definition: Blend.h:101
static Image Multiple(const Image *合成元A, const Image *合成元B, double 合成率)
説明.
Definition: Blend.h:274
bool Normal(Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0)
通常合成.
Definition: Blend.h:89
bool RgbaSelectMix(Image *合成イメージ, const Image *入力イメージ, RGBA 赤要素, RGBA 緑要素, RGBA 青要素, RGBA 透明要素, double 合成率=1.0)
RGBAの要素を選択して合成.
Definition: Blend.h:109
bool Difference(Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0)
減算合成.
Definition: Blend.h:39
bool Screen(Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0)
スクリーン合成.
Definition: Blend.h:118
bool SoftLight(Image *合成イメージ, const Image *入力イメージ, double 合成率)
ソフトライト合成.
Definition: Blend.h:130
画像データを表すクラス.
Definition: Image.h:37
static Image Normal(const Image *合成元A, const Image *合成元B, double 合成率)
説明.
Definition: Blend.h:292
bool Burn(Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0)
焼き込み合成.
Definition: Blend.h:25
bool Lighten(Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0)
比較合成(明).
Definition: Blend.h:72
static Image Darken(const Image *合成元A, const Image *合成元B, double 合成率)
説明.
Definition: Blend.h:176
int GetHeight() const
高さを取得.
Definition: Image.h:283
int GetWidth() const
幅を取得.
Definition: Image.h:277
bool Multiple(Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0)
乗算合成.
Definition: Blend.h:81
RGBA
説明.
Definition: Image.h:15
static Image Burn(const Image *合成元A, const Image *合成元B, double 合成率)
説明.
Definition: Blend.h:160
static Image Add(const Image *合成元A, const Image *合成元B, double 合成率)
説明.
Definition: Blend.h:144
static Image SoftLight(const Image *合成元A, const Image *合成元B, double 合成率)
説明.
Definition: Blend.h:364
static Image RgbaSelectMix(const Image *合成元A, const Image *合成元B, double 合成率, RGBA selectR, RGBA selectG, RGBA selectB, RGBA selectA)
説明.
Definition: Blend.h:328
bool Dodge(Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0)
覆い焼き合成.
Definition: Blend.h:49
bool Darken(Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0)
比較合成(暗).
Definition: Blend.h:32
bool HardLight(Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0)
ハードライト合成.
Definition: Blend.h:65
static Image HardLight(const Image *合成元A, const Image *合成元B, double 合成率)
説明.
Definition: Blend.h:240
static Image Lighten(const Image *合成元A, const Image *合成元B, double 合成率)
説明.
Definition: Blend.h:256
bool Exclusion(Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0)
除外合成.
Definition: Blend.h:58