質問編集履歴

2

コードに詳細を記述。

2018/04/21 18:02

投稿

abc12
abc12

スコア11

test CHANGED
File without changes
test CHANGED
@@ -44,6 +44,8 @@
44
44
 
45
45
  graphics.DrawImage(&image, 0, 0, imgWidth, imgHeight);
46
46
 
47
+
48
+
47
49
  (後処理)
48
50
 
49
51
  EndPaint(hwnd, &psImage);
@@ -64,13 +66,25 @@
64
66
 
65
67
  HDC tempHdc = CreateCompatibleDC(hdcBase);
66
68
 
69
+
70
+
67
71
  BLENDFUNCTION bf;
68
72
 
73
+ bf.BlendOp = AC_SRC_OVER;
74
+
69
- (BLENDFUNCTION設定)
75
+ bf.BlendFlags = 0;
76
+
77
+ bf.SourceConstantAlpha = 128;
78
+
79
+ bf.AlphaFormat = 0;
70
80
 
71
81
  AlphaBlend(hdcBase, 0, 0, imgWidth, imgHeight, tempHdc, 0, 0, imgWidth, imgHeight, bf);
72
82
 
83
+
84
+
73
85
  (後処理)
86
+
87
+ EndPaint(hwnd, &psMask);
74
88
 
75
89
  }
76
90
 

1

タイポ修正。タイトル修正。

2018/04/21 18:02

投稿

abc12
abc12

スコア11

test CHANGED
@@ -1 +1 @@
1
- GDI+の多重描画につ
1
+ 特定環境でAlphaBlendが表示されな
test CHANGED
@@ -42,7 +42,7 @@
42
42
 
43
43
  Image image(L"IMAGE.jpg");
44
44
 
45
- graphics.DrawImage(&image, 0, 0, imageRect.GetWidth(), imageRect.GetHeight());
45
+ graphics.DrawImage(&image, 0, 0, imgWidth, imgHeight);
46
46
 
47
47
  (後処理)
48
48
 
@@ -68,7 +68,7 @@
68
68
 
69
69
  (BLENDFUNCTION設定)
70
70
 
71
- AlphaBlend(hdcBase, 0, 0, SizeX, SizeY, tempHdc, 0, 0, SizeX, SizeY, bf);
71
+ AlphaBlend(hdcBase, 0, 0, imgWidth, imgHeight, tempHdc, 0, 0, imgWidth, imgHeight, bf);
72
72
 
73
73
  (後処理)
74
74