DXフレームワーク　リファレンス・マニュアル 0.01 DXフレームワークのリファレンスです。詳細は公式wiki

- メインページ
- 関連ページ
- クラス
- ファイル

- ファイル一覧

Blend.h
1 #pragma once
2 #include<DxLib.h>
3 #include<Image.h>
4
5
9 namespace DXFW
10 {
27 class Blend
28 {
29 public:
32 bool Add( Image* 合成イメージ , const Image *入力イメージ ,double 合成率 = 1.0)
33 {
34 return !DxLib::GraphBlend(合成イメージ->GetHandle() , 入力イメージ->GetHandle(),int(合成率*255),DX_GRAPH_BLEND_ADD);
35 }
36
42 bool Burn( Image* 合成イメージ , const Image *入力イメージ,double 合成率 = 1.0)
43 {
44 return !DxLib::GraphBlend(合成イメージ->GetHandle() , 入力イメージ->GetHandle(),int(合成率*255),DX_GRAPH_BLEND_BURN);
45 }
46
49 bool Darken( Image* 合成イメージ , const Image *入力イメージ,double 合成率 = 1.0)
50 {
51 return !DxLib::GraphBlend(合成イメージ->GetHandle() , 入力イメージ->GetHandle(),int(合成率*255),DX_GRAPH_BLEND_DARKEN);
52 }
53
56 bool Difference( Image* 合成イメージ , const Image *入力イメージ,double 合成率 = 1.0)
57 {
58 return !DxLib::GraphBlend(合成イメージ->GetHandle() , 入力イメージ->GetHandle(),int(合成率*255),DX_GRAPH_BLEND_DIFFERENCE);
59 }
60
66 bool Dodge( Image* 合成イメージ , const Image *入力イメージ,double 合成率 = 1.0)
67 {
68 return !DxLib::GraphBlend(合成イメージ->GetHandle() , 入力イメージ->GetHandle(),int(合成率*255),DX_GRAPH_BLEND_DODGE);
69 }
70
75 bool Exclusion( Image* 合成イメージ , const Image *入力イメージ,double 合成率 = 1.0)
76 {
77 return !DxLib::GraphBlend(合成イメージ->GetHandle() , 入力イメージ->GetHandle(),int(合成率*255),DX_GRAPH_BLEND_EXCLUSION);
78 }
79
82 bool HardLight( Image* 合成イメージ , const Image *入力イメージ,double 合成率 = 1.0)
83 {
84 return !DxLib::GraphBlend(合成イメージ->GetHandle() , 入力イメージ->GetHandle(),int(合成率*255),DX_GRAPH_BLEND_HARDLIGHT);
85 }
86
89 bool Lighten( Image* 合成イメージ , const Image *入力イメージ,double 合成率 = 1.0)
90 {
91 return !DxLib::GraphBlend( 合成イメージ->GetHandle() , 入力イメージ->GetHandle(),int(合成率*255),DX_GRAPH_BLEND_LIGHTEN);
92 }
93
98 bool Multiple( Image* 合成イメージ , const Image *入力イメージ,double 合成率 = 1.0)
99 {
100 return !DxLib::GraphBlend( 合成イメージ->GetHandle() , 入力イメージ->GetHandle(),int(合成率*255),DX_GRAPH_BLEND_MULTIPLE);
101 }
102
106 bool Normal( Image* 合成イメージ , const Image *入力イメージ,double 合成率 = 1.0)
107 {
108 return !DxLib::GraphBlend( 合成イメージ->GetHandle() , 入力イメージ->GetHandle() , (int)(合成率*255) ,DX_GRAPH_BLEND_NORMAL);
109 }
110
118 bool OverLay( Image* 合成イメージ , const Image *入力イメージ,double 合成率 = 1.0)
119 {
120 return !DxLib::GraphBlend( 合成イメージ->GetHandle() , 入力イメージ->GetHandle(),int(合成率*255),DX_GRAPH_BLEND_OVERLAY);
121 }
122
126 bool RgbaSelectMix( Image* 合成イメージ , const Image *入力イメージ, RGBA 赤要素 , RGBA 緑要素 , RGBA 青要素 , RGBA 透明要素 ,double 合成率 = 1.0)
127 {
128 return !DxLib::GraphBlend( 合成イメージ->GetHandle() , 入力イメージ->GetHandle(),int(合成率*255),DX_GRAPH_BLEND_RGBA_SELECT_MIX, 赤要素 , 緑要素 , 青要素 , 透明要素 );
129 }
130
135 bool Screen( Image* 合成イメージ , const Image *入力イメージ,double 合成率 = 1.0)
136 {
137 return !DxLib::GraphBlend( 合成イメージ->GetHandle() , 入力イメージ->GetHandle(),int(合成率*255),DX_GRAPH_BLEND_SCREEN);
138 }
139
147 bool SoftLight( Image* 合成イメージ , const Image *入力イメージ,double 合成率)
148 {
149 return !DxLib::GraphBlend( 合成イメージ->GetHandle() , 入力イメージ->GetHandle(),int(合成率*255),DX_GRAPH_BLEND_SOFTLIGHT);
150 }
151 };
152
169 class BlendBlt
170 {
171 public:
173 static Image Add(const Image *imgA,const Image *imgB,double 合成率)
174 {
175 const int width = max( imgA->GetWidth() , imgB->GetWidth() );
176 const int height = max( imgA->GetHeight() , imgB->GetHeight() );
177 Image outPut( width , height , true , true , true );
178
179 DxLib::GraphBlendBlt(imgA->GetHandle() , imgB->GetHandle() , outPut.GetHandle(),int(合成率*255),DX_GRAPH_BLEND_ADD);
180 return outPut;
181 }
182 static bool Add(Image *image ,const Image *imgA,const Image *imgB, int srcX1, int srcY1, int srcX2, int srcY2, int blendX, int blendY, int destX, int destY,double 合成率)
183 {
184 return !DxLib::GraphBlendRectBlt(imgA->GetHandle() , imgB->GetHandle() , image->GetHandle() , srcX1, srcY1, srcX2, srcY2, blendX, blendY, destX, destY,int(合成率*255),DX_GRAPH_BLEND_ADD);
185 }
186
188 static bool Burn(Image *image ,const Image *imgA,const Image *imgB,double 合成率)
189 {
190 return !DxLib::GraphBlendBlt(imgA->GetHandle() , imgB->GetHandle() , image->GetHandle(),int(合成率*255),DX_GRAPH_BLEND_BURN);
191 }
192 static bool Burn(Image *image ,const Image *imgA,const Image *imgB, int srcX1, int srcY1, int srcX2, int srcY2, int blendX, int blendY, int destX, int destY,double 合成率)
193 {
194 return !DxLib::GraphBlendRectBlt(imgA->GetHandle() , imgB->GetHandle() , image->GetHandle() , srcX1, srcY1, srcX2, srcY2, blendX, blendY, destX, destY,int(合成率*255),DX_GRAPH_BLEND_BURN);
195 }
196
198 static bool Darken(Image *image ,const Image *imgA,const Image *imgB,double 合成率)
199 {
200 return !DxLib::GraphBlendBlt(imgA->GetHandle() , imgB->GetHandle() , image->GetHandle(),int(合成率*255),DX_GRAPH_BLEND_DARKEN);
201 }
202 static bool Darken(Image *image ,const Image *imgA,const Image *imgB, int srcX1, int srcY1, int srcX2, int srcY2, int blendX, int blendY, int destX, int destY,double 合成率)
203 {
204 return !DxLib::GraphBlendRectBlt(imgA->GetHandle() , imgB->GetHandle() , image->GetHandle() , srcX1, srcY1, srcX2, srcY2, blendX, blendY, destX, destY,int(合成率*255),DX_GRAPH_BLEND_DARKEN);
205 }
206
208 static bool Diference(Image *image ,const Image *imgA,const Image *imgB,double 合成率)
209 {
210 return !DxLib::GraphBlendBlt(imgA->GetHandle() , imgB->GetHandle() , image->GetHandle(),int(合成率*255),DX_GRAPH_BLEND_DIFFERENCE);
211 }
212 static bool Difference(Image *image ,const Image *imgA,const Image *imgB, int srcX1, int srcY1, int srcX2, int srcY2, int blendX, int blendY, int destX, int destY,double 合成率)
213 {
214 return !DxLib::GraphBlendRectBlt(imgA->GetHandle() , imgB->GetHandle() , image->GetHandle() , srcX1, srcY1, srcX2, srcY2, blendX, blendY, destX, destY,int(合成率*255),DX_GRAPH_BLEND_DIFFERENCE);
215 }
216
218 static bool Dodge(Image *image ,const Image *imgA,const Image *imgB,double 合成率)
219 {
220 return !DxLib::GraphBlendBlt(imgA->GetHandle() , imgB->GetHandle() , image->GetHandle(),int(合成率*255),DX_GRAPH_BLEND_DODGE);
221 }
222 static bool Dodge(Image *image ,const Image *imgA,const Image *imgB, int srcX1, int srcY1, int srcX2, int srcY2, int blendX, int blendY, int destX, int destY,double 合成率)
223 {
224 return !DxLib::GraphBlendRectBlt(imgA->GetHandle() , imgB->GetHandle() , image->GetHandle() , srcX1, srcY1, srcX2, srcY2, blendX, blendY, destX, destY,int(合成率*255),DX_GRAPH_BLEND_DODGE);
225 }
226
228 static bool Exclusion(Image *image ,const Image *imgA,const Image *imgB,double 合成率)
229 {
230 return !DxLib::GraphBlendBlt(imgA->GetHandle() , imgB->GetHandle() , image->GetHandle(),int(合成率*255),DX_GRAPH_BLEND_EXCLUSION);
231 }
232 static bool Exclusion(Image *image ,const Image *imgA,const Image *imgB, int srcX1, int srcY1, int srcX2, int srcY2, int blendX, int blendY, int destX, int destY,double 合成率)
233 {
234 return !DxLib::GraphBlendRectBlt(imgA->GetHandle() , imgB->GetHandle() , image->GetHandle() , srcX1, srcY1, srcX2, srcY2, blendX, blendY, destX, destY,int(合成率*255),DX_GRAPH_BLEND_EXCLUSION);
235 }
236
238 static bool HardLight(Image *image ,const Image *imgA,const Image *imgB,double 合成率)
239 {
240 return !DxLib::GraphBlendBlt(imgA->GetHandle() , imgB->GetHandle() , image->GetHandle(),int(合成率*255),DX_GRAPH_BLEND_HARDLIGHT);
241 }
242 static bool HardLight(Image *image ,const Image *imgA,const Image *imgB, int srcX1, int srcY1, int srcX2, int srcY2, int blendX, int blendY, int destX, int destY,double 合成率)
243 {
244 return !DxLib::GraphBlendRectBlt(imgA->GetHandle() , imgB->GetHandle() , image->GetHandle() , srcX1, srcY1, srcX2, srcY2, blendX, blendY, destX, destY,int(合成率*255),DX_GRAPH_BLEND_HARDLIGHT);
245 }
246
248 static bool Lighten(Image *image ,const Image *imgA,const Image *imgB,double 合成率)
249 {
250 return !DxLib::GraphBlendBlt(imgA->GetHandle() , imgB->GetHandle() , image->GetHandle(),int(合成率*255),DX_GRAPH_BLEND_LIGHTEN);
251 }
252 static bool Lighten(Image *image ,const Image *imgA,const Image *imgB, int srcX1, int srcY1, int srcX2, int srcY2, int blendX, int blendY, int destX, int destY,double 合成率)
253 {
254 return !DxLib::GraphBlendRectBlt(imgA->GetHandle() , imgB->GetHandle() , image->GetHandle() , srcX1, srcY1, srcX2, srcY2, blendX, blendY, destX, destY,int(合成率*255),DX_GRAPH_BLEND_LIGHTEN);
255 }
256
258 static bool Multiple(Image *image ,const Image *imgA,const Image *imgB,double 合成率)
259 {
260 return !DxLib::GraphBlendBlt(imgA->GetHandle() , imgB->GetHandle() , image->GetHandle(),int(合成率*255),DX_GRAPH_BLEND_MULTIPLE);
261 }
262 static bool Multiple(Image *image ,const Image *imgA,const Image *imgB, int srcX1, int srcY1, int srcX2, int srcY2, int blendX, int blendY, int destX, int destY,double 合成率)
263 {
264 return !DxLib::GraphBlendRectBlt(imgA->GetHandle() , imgB->GetHandle() , image->GetHandle() , srcX1, srcY1, srcX2, srcY2, blendX, blendY, destX, destY,int(合成率*255),DX_GRAPH_BLEND_MULTIPLE);
265 }
266
268 static bool Normal(Image *image ,const Image *imgA,const Image *imgB,double 合成率)
269 {
270 return !DxLib::GraphBlendBlt(imgA->GetHandle() , imgB->GetHandle() , image->GetHandle(),int(合成率*255),DX_GRAPH_BLEND_NORMAL);
271 }
272 static bool Normal(Image *image ,const Image *imgA,const Image *imgB, int srcX1, int srcY1, int srcX2, int srcY2, int blendX, int blendY, int destX, int destY,double 合成率)
273 {
274 return !DxLib::GraphBlendRectBlt(imgA->GetHandle() , imgB->GetHandle() , image->GetHandle() , srcX1, srcY1, srcX2, srcY2, blendX, blendY, destX, destY,int(合成率*255),DX_GRAPH_BLEND_NORMAL);
275 }
276
278 static bool OverLay(Image *image ,const Image *imgA,const Image *imgB,double 合成率)
279 {
280 return !DxLib::GraphBlendBlt(imgA->GetHandle() , imgB->GetHandle() , image->GetHandle(),int(合成率*255),DX_GRAPH_BLEND_OVERLAY);
281 }
282 static bool OverLay(Image *image ,const Image *imgA,const Image *imgB, int srcX1, int srcY1, int srcX2, int srcY2, int blendX, int blendY, int destX, int destY,double 合成率)
283 {
284 return !DxLib::GraphBlendRectBlt(imgA->GetHandle() , imgB->GetHandle() , image->GetHandle() , srcX1, srcY1, srcX2, srcY2, blendX, blendY, destX, destY,int(合成率*255),DX_GRAPH_BLEND_OVERLAY);
285 }
286
288 static bool RgbaSelectMix(Image *image ,const Image *imgA,const Image *imgB,double 合成率, RGBA selectR , RGBA selectG , RGBA selectB , RGBA selectA)
289 {
290 return !DxLib::GraphBlendBlt(imgA->GetHandle() , imgB->GetHandle() , image->GetHandle(),int(合成率*255),DX_GRAPH_BLEND_RGBA_SELECT_MIX, selectR , selectG , selectB , selectA );
291 }
292 static bool RgbaSelect(Image *image ,const Image *imgA,const Image *imgB, 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)
293 {
294 return !DxLib::GraphBlendRectBlt(imgA->GetHandle() , imgB->GetHandle() , image->GetHandle() , srcX1, srcY1, srcX2, srcY2, blendX, blendY, destX, destY,int(合成率*255),DX_GRAPH_BLEND_RGBA_SELECT_MIX, selectR , selectG , selectB , selectA );
295 }
296
298 static bool Screen(Image *image ,const Image *imgA,const Image *imgB,double 合成率)
299 {
300 return !DxLib::GraphBlendBlt(imgA->GetHandle() , imgB->GetHandle() , image->GetHandle(),int(合成率*255),DX_GRAPH_BLEND_SCREEN);
301 }
302 static bool Screen(Image *image ,const Image *imgA,const Image *imgB, int srcX1, int srcY1, int srcX2, int srcY2, int blendX, int blendY, int destX, int destY,double 合成率)
303 {
304 return !DxLib::GraphBlendRectBlt(imgA->GetHandle() , imgB->GetHandle() , image->GetHandle() , srcX1, srcY1, srcX2, srcY2, blendX, blendY, destX, destY,int(合成率*255),DX_GRAPH_BLEND_SCREEN);
305 }
306
308 static bool SoftLight(Image *image ,const Image *imgA,const Image *imgB,double 合成率)
309 {
310 return !DxLib::GraphBlend(imgA->GetHandle() , imgB->GetHandle() , image->GetHandle(),int(合成率*255),DX_GRAPH_BLEND_SOFTLIGHT);
311 }
312 static bool SoftLight(Image *image ,const Image *imgA,const Image *imgB, int srcX1, int srcY1, int srcX2, int srcY2, int blendX, int blendY, int destX, int destY,double 合成率)
313 {
314 return !DxLib::GraphBlendRectBlt(imgA->GetHandle() , imgB->GetHandle() , image->GetHandle() , srcX1, srcY1, srcX2, srcY2, blendX, blendY, destX, destY,int(合成率*255),DX_GRAPH_BLEND_SOFTLIGHT);
315 }
316 };
317 }
DXFW::BlendBlt::SoftLight
static bool SoftLight(Image *image, const Image *imgA, const Image *imgB, double 合成率)
説明
Definition: Blend.h:308
DXFW::Blend::Difference
bool Difference(Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0)
減算合成
Definition: Blend.h:56
DXFW::Blend::SoftLight
bool SoftLight(Image *合成イメージ, const Image *入力イメージ, double 合成率)
ソフトライト合成
Definition: Blend.h:147
DXFW::BlendBlt::RgbaSelectMix
static bool RgbaSelectMix(Image *image, const Image *imgA, const Image *imgB, double 合成率, RGBA selectR, RGBA selectG, RGBA selectB, RGBA selectA)
説明
Definition: Blend.h:288
DXFW::Blend::Burn
bool Burn(Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0)
焼き込み合成
Definition: Blend.h:42
DXFW::BlendBlt::Exclusion
static bool Exclusion(Image *image, const Image *imgA, const Image *imgB, double 合成率)
説明
Definition: Blend.h:228
DXFW::Blend::OverLay
bool OverLay(Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0)
オーバーレイ合成
Definition: Blend.h:118
DXFW::Blend::Screen
bool Screen(Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0)
スクリーン合成
Definition: Blend.h:135
DXFW::BlendBlt::Lighten
static bool Lighten(Image *image, const Image *imgA, const Image *imgB, double 合成率)
説明
Definition: Blend.h:248
DXFW::Blend::Darken
bool Darken(Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0)
比較合成(暗)
Definition: Blend.h:49
DXFW::Image::GetHandle
int GetHandle() const
ハンドルを取得
Definition: Image.h:157
DXFW::Blend::Lighten
bool Lighten(Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0)
比較合成(明)
Definition: Blend.h:89
DXFW::BlendBlt::Darken
static bool Darken(Image *image, const Image *imgA, const Image *imgB, double 合成率)
説明
Definition: Blend.h:198
DXFW::Blend::Multiple
bool Multiple(Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0)
乗算合成
Definition: Blend.h:98
DXFW::Blend::Exclusion
bool Exclusion(Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0)
除外合成
Definition: Blend.h:75
DXFW::BlendBlt::Multiple
static bool Multiple(Image *image, const Image *imgA, const Image *imgB, double 合成率)
説明
Definition: Blend.h:258
DXFW::Blend::HardLight
bool HardLight(Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0)
ハードライト合成
Definition: Blend.h:82
DXFW::BlendBlt::Screen
static bool Screen(Image *image, const Image *imgA, const Image *imgB, double 合成率)
説明
Definition: Blend.h:298
DXFW::Image::GetWidth
int GetWidth() const
幅を取得
Definition: Image.h:252
DXFW::BlendBlt::Add
static Image Add(const Image *imgA, const Image *imgB, double 合成率)
説明
Definition: Blend.h:173
DXFW::BlendBlt::Dodge
static bool Dodge(Image *image, const Image *imgA, const Image *imgB, double 合成率)
説明
Definition: Blend.h:218
DXFW::BlendBlt::OverLay
static bool OverLay(Image *image, const Image *imgA, const Image *imgB, double 合成率)
説明
Definition: Blend.h:278
DXFW::Image
画像クラス。ロードしたファイルの描画等。
Definition: Image.h:51
DXFW::BlendBlt::Diference
static bool Diference(Image *image, const Image *imgA, const Image *imgB, double 合成率)
説明
Definition: Blend.h:208
DXFW::RGBA
RGBA
説明
Definition: Image.h:19
DXFW::Blend::Add
bool Add(Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0)
加算合成
Definition: Blend.h:32
DXFW::BlendBlt::Normal
static bool Normal(Image *image, const Image *imgA, const Image *imgB, double 合成率)
説明
Definition: Blend.h:268
DXFW::BlendBlt::Burn
static bool Burn(Image *image, const Image *imgA, const Image *imgB, double 合成率)
説明
Definition: Blend.h:188
DXFW::BlendBlt::HardLight
static bool HardLight(Image *image, const Image *imgA, const Image *imgB, double 合成率)
説明
Definition: Blend.h:238
DXFW::Blend
イメージの合成
Definition: Blend.h:27
DXFW::Blend::Normal
bool Normal(Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0)
通常合成
Definition: Blend.h:106
DXFW::Image::GetHeight
int GetHeight() const
高さを取得
Definition: Image.h:258
DXFW::BlendBlt
イメージを合成して合成[未実装]
Definition: Blend.h:169
DXFW::Blend::Dodge
bool Dodge(Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0)
覆い焼き合成
Definition: Blend.h:66