SDXFrameWork 0.09 SDXFrameWork

- Main Page
- Related Pages
- Classes

All Classes Namespaces Functions Variables Enumerations Enumerator Pages
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 }
SDX::BlendBlt::Screen
static Image Screen(const Image *合成元A, const Image *合成元B, double 合成率)
説明.
Definition: Blend.h:346
SDX::BlendBlt::Dodge
static Image Dodge(const Image *合成元A, const Image *合成元B, double 合成率)
説明.
Definition: Blend.h:208
SDX::Blend
Image同士の合成処理を行う関数群[未実装].
Definition: Blend.h:10
SDX::BlendBlt::Diference
static Image Diference(const Image *合成元A, const Image *合成元B, double 合成率)
説明.
Definition: Blend.h:192
SDX::BlendBlt::OverLay
static Image OverLay(const Image *合成元A, const Image *合成元B, double 合成率)
説明.
Definition: Blend.h:310
SDX::Blend::Add
bool Add(Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0)
加算合成.
Definition: Blend.h:15
SDX::BlendBlt::Exclusion
static Image Exclusion(const Image *合成元A, const Image *合成元B, double 合成率)
説明.
Definition: Blend.h:224
SDX::BlendBlt
イメージを合成して合成[未実装].
Definition: Blend.h:140
SDX::Blend::OverLay
bool OverLay(Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0)
オーバーレイ合成.
Definition: Blend.h:101
SDX::BlendBlt::Multiple
static Image Multiple(const Image *合成元A, const Image *合成元B, double 合成率)
説明.
Definition: Blend.h:274
SDX::Blend::Normal
bool Normal(Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0)
通常合成.
Definition: Blend.h:89
SDX::Blend::RgbaSelectMix
bool RgbaSelectMix(Image *合成イメージ, const Image *入力イメージ, RGBA 赤要素, RGBA 緑要素, RGBA 青要素, RGBA 透明要素, double 合成率=1.0)
RGBAの要素を選択して合成.
Definition: Blend.h:109
SDX::Blend::Difference
bool Difference(Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0)
減算合成.
Definition: Blend.h:39
SDX::Blend::Screen
bool Screen(Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0)
スクリーン合成.
Definition: Blend.h:118
SDX::Blend::SoftLight
bool SoftLight(Image *合成イメージ, const Image *入力イメージ, double 合成率)
ソフトライト合成.
Definition: Blend.h:130
SDX::Image
画像データを表すクラス.
Definition: Image.h:38
SDX::BlendBlt::Normal
static Image Normal(const Image *合成元A, const Image *合成元B, double 合成率)
説明.
Definition: Blend.h:292
SDX::Blend::Burn
bool Burn(Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0)
焼き込み合成.
Definition: Blend.h:25
SDX::Blend::Lighten
bool Lighten(Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0)
比較合成(明).
Definition: Blend.h:72
SDX::BlendBlt::Darken
static Image Darken(const Image *合成元A, const Image *合成元B, double 合成率)
説明.
Definition: Blend.h:176
SDX::Image::GetHeight
int GetHeight() const
高さを取得.
Definition: Image.h:248
SDX::Image::GetWidth
int GetWidth() const
幅を取得.
Definition: Image.h:242
SDX::Blend::Multiple
bool Multiple(Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0)
乗算合成.
Definition: Blend.h:81
SDX::RGBA
RGBA
説明.
Definition: Image.h:16
SDX::BlendBlt::Burn
static Image Burn(const Image *合成元A, const Image *合成元B, double 合成率)
説明.
Definition: Blend.h:160
SDX::BlendBlt::Add
static Image Add(const Image *合成元A, const Image *合成元B, double 合成率)
説明.
Definition: Blend.h:144
SDX::BlendBlt::SoftLight
static Image SoftLight(const Image *合成元A, const Image *合成元B, double 合成率)
説明.
Definition: Blend.h:364
SDX::BlendBlt::RgbaSelectMix
static Image RgbaSelectMix(const Image *合成元A, const Image *合成元B, double 合成率, RGBA selectR, RGBA selectG, RGBA selectB, RGBA selectA)
説明.
Definition: Blend.h:328
SDX::Blend::Dodge
bool Dodge(Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0)
覆い焼き合成.
Definition: Blend.h:49
SDX::Blend::Darken
bool Darken(Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0)
比較合成(暗).
Definition: Blend.h:32
SDX::Blend::HardLight
bool HardLight(Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0)
ハードライト合成.
Definition: Blend.h:65
SDX::BlendBlt::HardLight
static Image HardLight(const Image *合成元A, const Image *合成元B, double 合成率)
説明.
Definition: Blend.h:240
SDX::BlendBlt::Lighten
static Image Lighten(const Image *合成元A, const Image *合成元B, double 合成率)
説明.
Definition: Blend.h:256
SDX::Blend::Exclusion
bool Exclusion(Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0)
除外合成.
Definition: Blend.h:58