ゲームについてつらつらと。
× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
あれからGDI+を使ってみたけど全然駄目ですね。
ソースはこれで間違ってないはずなのになんでだろう。 ・・・と、うなってたら OnPaint関数を手書きで追加していたのが原因でした。 プロパティから追加しないとOnPaintとしての働きは無いのかー。そうかー。 今回は結構調べるのが骨だったのでソースも置いときます。 Imageを使う版とGDI+版。 画像huzimi.pngを ID:IDC_HOKOU、コントロール変数:m_xcHokouのピクチャボックスに貼り付け。 ピクチャボックスの枠の調整はこのコードではImageでのみ有効です。 ------------------------------------------------------------------- //imageを使う場合はインクルードしておく #include "atlimage.h" #include < CString > //GDI+を使う場合こっちをインクルード #include #pragma comment (lib, "Gdiplus.lib") using namespace Gdiplus; void Charadb::OnPaint() { CPaintDC dc(this); // TODO: ここにメッセージ ハンドラ コードを追加します。 // 描画メッセージで CDialog::OnPaint() を呼び出さないでください。 { //AfxMessageBox("実行確認用メッセージ消して良し"); CImage img; img.Load("huzimi.png"); //ピクチャコントロールのデバイスコンテキストを取得 HDC hDC; hDC = m_xcHokou.GetDC()->GetSafeHdc(); //Image=================================================== SetStretchBltMode(hDC,STRETCH_HALFTONE);//StretchBltのモード設定 //画像サイズそのままで貼り付ける場合 //img.BitBlt(hDC,0,0,img.GetWidth(),img.GetHeight(),0,0,SRCCOPY); //サイズ2倍で貼り付ける場合 img.StretchBlt(hDC,0,0,img.GetWidth()*2,img.GetHeight()*2,0,0,img.GetWidth(),img.GetHeight(),SRCCOPY); //ピクチャボックスの枠を画像サイズ@2倍角に合わせて描写(デフォルトの枠は事前にプロパティをいじり消しておく) CPaintDC dc2(GetDlgItem(IDC_HOKOU)); CPen myPen,myPen2; myPen.CreatePen(PS_SOLID, 2, RGB(230, 230, 230));//ペン1 myPen2.CreatePen(PS_SOLID, 2, RGB(100, 100, 100));//ペン2 dc2.MoveTo(0,img.GetHeight()*2);//線を引く始点設定 dc2.SelectObject(&myPen2);//ペンを設定 dc2.LineTo(0,-1);//線を引く dc2.SelectObject(&myPen2); dc2.LineTo(img.GetWidth()*2,0); dc2.SelectObject(&myPen); dc2.LineTo(img.GetWidth()*2,img.GetHeight()*2); dc2.LineTo(0,img.GetHeight()*2); img.Destroy();//Image解放 //GDI===================================================== //GDI+を使う準備 using namespace Gdiplus; GdiplusStartupInput gdiplusStartupInput; ULONG_PTR gdiplusToken; GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL); //準備終わり Graphics graphics(hDC); //デバイスコンテキスト Bitmap image(L"huzimi.png"); // イメージロード、ファイル名の前の L は忘れない graphics.DrawImage(&image, 0, 0);//イメージ描写 GdiplusShutdown(gdiplusToken);//解放 } PR ![]() ![]() |
ブログ内検索
カテゴリー
プロフィール
HN:
山田
誕生日:
07/17
趣味:
ゲーム製作
好みのタイプ:
無印ポポロクロイス物語
無印アークザラッド That's QT バハムートラグーン 花と雨と太陽と 砂のエンブレイス デカボイス チュウリップ サテラビュー関連
アーカイブ
メッセ
aonori_hatara
タロット占い
|