gg 2008/07/01(火) 12:18:25
いつもお世話になっています、ggです。
以下のように表示しています
View::OnDraw(CDC* pDC){
imgOriginal1.StretchBlt(*pDC, ...);//Imageクラス使用
CDC dcMem;
dcMem.CreateCompatibleDC(pDC);
CBitmap *pOldBitmap = dcMem.SelectObject(&m_bitmap);
pDC->BitBlt(…);
imgOriginal1.AlphaBlend(dcMem,
rectT.left ,rectT.top,
rectT.right, rectT.bottom,
0,0,ScrWH.x, ScrWH.y,
55,
AC_SRC_OVER);
}
質問:
透過度(55)を固定したいのですが、どうしたらいいでしょうか。
今の状態だと、
一回目の描画はm_bitmapの色(黄色)です、まったく透過していない、
描画の数によって、自動的にだんだん透明度高くなりました。
目的としては、最初表示するときにある透過にして欲しいです。
後その透過度を調整して、ずっと使います。
BLENDFUNCTION m_bf; // AlphaBlend function parameter
という構造体があるのですが、Imageクラス使用の場合、
どう使いますか。
(55, AC_SRC_OVER)は既に引く数になっています。
よろしくお願いします。
環境:.Net2002 XP
自己で解決しました。
imgOriginal1.AlphaBlend()の55は
BLENDFUNCTION のSourceConstantAlphaメンバーです。
::AlphaBlend()へ変更して、うまく描画できました。
すみませんでした。