掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ビットマップ画像回転について (ID:71454)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
お世話になります。 Visual Studio2005 C++ MFCにて ピクチャボックスにビットマップ画像表示 を行っています。 そのなかで、PlgBlt()を使用して画像の回転を行なって いるのですが指定したピクチャボックスに回転画像が 表示されません。 回転前の画像はピクチャボックスに表示され、回転画像は ピクチャボックス外に表示されてしまいます。 御存知の方がおられましたらお教え頂けないでしょうか。 以下コードとなります。 int x=200,y=200,w=m_pBMIH->biWidth,h=m_pBMIH->biHeight; POINT pt[3]={{x,y},{x+w,y},{x,y+h}}; POINT center={x+w/2,y+h/2}; float rot = (float)3.1415 / 3 for(int i=0;i<3;i++) { pt[i].x -= center.x; pt[i].y -= center.y; //回転させる pt[i]=rotPoint(pt[i],rot); //元に戻す pt[i].x += center.x; pt[i].y += center.y; } CDC *pDC1 = m_pict1.GetDC(); m_pict1.GetClientRect(&m_rect1); pDC1->SetStretchBltMode(HALFTONE); ::StretchDIBits(pDC1->GetSafeHdc(), 0, 0, m_rect1.right, m_rect1.bottom, // 転送先 0, 0, m_pBMIH->biWidth, m_pBMIH->biHeight, // 転送元 m_pData, m_pBMI, DIB_RGB_COLORS, SRCCOPY); //画像回転 CBitmap msk; pDC1->PlgBlt(pt, pDC1, 0, 0, w, h,msk,0, 0);
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.