AlphaBlend()について – プログラミング – Home

通知
すべてクリア

[解決済] AlphaBlend()について


gg
 gg
(@gg)
ゲスト
結合: 18年前
投稿: 185
Topic starter  

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


引用未解決
トピックタグ
gg
 gg
(@gg)
ゲスト
結合: 18年前
投稿: 185
 

自己で解決しました。

imgOriginal1.AlphaBlend()の55は
BLENDFUNCTION のSourceConstantAlphaメンバーです。

::AlphaBlend()へ変更して、うまく描画できました。

すみませんでした。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました