GDI GDI+ 전환
Graphics g(pDC->GetSafeHdc());// CDC MFC
//CClientDC、CPaintDC,
2. Cbitmap에서Graphics에 이르기까지 메모리 비트맵 장치를 만들어야 합니다.CDC MemDC;
CBitmap MemBitmap;
MemDC.CreateCompatibleDC(pDC);
MemBitmap.CreateCompatibleBitmap(pDC,size.cx, size.cy);
CBitmap *pOldBit=MemDC.SelectObject(&MemBitmap);
Graphics g(MemDC.GetSafeHdc());
///… you can work with GDI+ … ///
또는 사용:Bitmap::Bitmap(HBITMAP,HPALETTE)。
static?Bitmap?*FromHBITMAP(HBITMAP?hbm,HPALETTE?hpal);
셋째, 비트맵으로 그림을 열려면 GDI의 그림 함수로 조작해야 한다(일반적으로 역사에 문제가 남는다). 비트맵 대상을 CBitmap으로 전환해야 한다. 이렇게 할 수 있다.Bitmap* pPicture = new Bitmap(L"dotLive.jpg");
HBITMAP hBitmap;
CBitmap* pbm;
pPicture->GetHBITMAP(Color(0,0,0),&hBitmap);
pbm = CBitmap::FromHandle(aaa1);
///… use pbm to do the GDI works ...///
pbm->DeleteObject();// GDI , …
넷째, 비트맵을 저장하면 열기 편하고 저장하기 불편하다.Bitmap 또는 Image에서 이미지를 열면 파일이 자동으로 잠기고 저장할 때 파일이 사용되는 것과 같은 오류가 발생합니다.저장할 때 새 Bitmap(Image) 객체를 새로 작성하여 원래 객체를 새 객체에 그린 다음 파일을 놓으려면 원래 객체를 삭제하는 절충적인 방법이 있습니다.새 객체를 저장합니다.clone을 사용할 수 없습니다. 잠긴 파일 자원을 함께 복사하면 잠금 해제에 필요한 방출 대상이 하나 더 많아집니다.Bitmap* tPic= new Bitmap(L"dotLive.jpg");//
Bitmap* pPicture = new Bitmap(tPic->GetWidth()
,tPic->GetHeight()
,tPic->GetPixelFormat());
Graphics g(pPicture);
g.DrawImage(tPic,0,0,m_nWidth,m_nHeight);//
delete tPic;//
/// … use the pPicture to access "dotLive.jpg" … ///
CLSID tiffClsid;
GetEncoderClsid(L"image/jpeg", &tiffClsid);// MSDN
pPicture->Save(L"dotLive.jpg" ,&tiffClsid);//
다섯째,Graphics에서 HDC까지 비트맵으로 그림을 쉽게 열려면 그림에 글을 써서 그림을 그려야 한다.엉망인 것은 역사가 남긴 문제 때문에, 이 조작들은 모두 GDI로 이루어진 것이다.또한 GDI+는 이질적이거나 드로잉 모드(고무줄 효과 구현), 텍스트 출력 음영 불투명 없음, 문자열을 WChar로 변환해야 합니다.어떡하지, 이렇게 돌릴 수 있어.Bitmap* pPicture = new Bitmap(L"dotLive.jpg");//
Graphics tempG(pPicture );
HDC hdc = tempG.GetHDC ();// GDI
CDC* tempDC = CDC::FromHandle(hdc);
/// … hurry up, draw what you want … ///
tempG.ReleaseHDC(hdc); // relese,GDI ,
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.