掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
CImage::AlphaBlend ? (ID:68427)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
お世話になっております Visual Studio 2005 XP/Vista MFC環境で開発しています。 CStaticを継承した自前のクラスのOnPaintで自前の背景画像(24Bit BMP)を表示しています。このBMPの上に透過値を持つ小さいPNGを描画したいです。 CImage::AlphaBlendを使えばひゃらっと出来たりしないかしら、と淡い期待を寄せて使ってみたのですが、画像は表示される物の、透過部分が透過になってたりならなかったりという状態です。 ご指南頂けないでしょうか。 MyStatic::OnPaint() { // 背景BMPをdcで描画.. // CDC* pDC = GetDC(); CDC cDC; CImage Img; CBitmap Bmp; CBitmap* oldBmp; SIZE Size; Img.Load( _T( "mark.png" ) ); Size.cx = Img.GetWidth(); Size.cy = Img.GetHeight(); cDC.CreateCompatibleDC( pDC ); Bmp.CreateCompatibleBitmap( pDC, Size.cx, Size.cy ); oldBmp = cDC.SelectObject( &Bmp ); Img.AlphaBlend( pDC->GetSafeHdc(), 0, 0, Size.cx, Size.cy, 0, 0, Size.cx, Size.cy ); Img.Destroy(); cDC.SelectObject( oldBmp ); Bmp.DeleteObject(); cDC.DeleteDC(); }
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.