GDI+について
いつもお世話になっております。
今回教えていただきたいことは、GDI+についてです。
今まで GDI と OpenGL を組み合わせてプログラミングをしていましたが、GDIでは自前でアンチエリアス処理をしなければならないなど面倒な部分が多く困っていました。
そこで GDI+ を使用して楽にプログラミングしようと考えて色々とプログラムをしてみたのですが、ここにきて壁にぶち当たりましたので、先人の方にご教授していただきたいのです。
《 GDI でプログラムしていた時 》
(1)画像バッファを作成しておく
//ディスクトップのDCを取得
HDC hdcTmp = GetDC( GetDesktopWindow() );
//ビットマップのハンドルと、作成したバッファの先頭アドレスを取得
hBitmap = CreateDIBSection( hdcTmp, &bmi, DIB_RGB_COLORS, (void**)&buffer, 0, 0 );
//HBITMAPにHDCを結び付ける
hdc = CreateCompatibleDC( hdcTmp ); //DIBSection用メモリデバイスコンテキスト作成
hOldHandle = SelectObject( hdc, hBitmap ); //画像バッファ(m_hBitmap)をメモリデバイスコンテキストに選択 (GDIでも描画出来るようにするため)
(2)画像バッファ上にGDIで描画する
hdcに対してGDIの関数を使用して描画
(3)BitBlt()でウィンドウに転送する
WM_PAINTのメッセージのときだけウィンドウに対して転送
上記(1)(2)(3)のようにして描画を行っていました。
■したいこと(1)■
今したい事は 上記(1)で作成したGDI の画像バッファのhdcを使ってGDI+関数で描画したいのです。
そうするといままで使っていたGDIの知識を生かして両方使えます。
■したいこと(2)■
したいこと(1)がもし出来ないのであればGDI+での画像バッファがつくれるかどうか、その画像バッファのデバイスコンテキスト
は取得できるのかどうか教えていただきたいと思います
情報不足かもしれませんが、ご教授よろしくお願いいたします。
お礼
安心しました。ありがとうございました。