OnDraw 함수에서...

yun8085의 이미지

CTwaintestDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);

CRect Rect(0,0,15000,-15000);
pDC->SetMapMode(MM_HIMETRIC);
pDC->LPtoDP(Rect);
pDC->SetMapMode(MM_TEXT);

pDC->Rectangle(Rect);

CBitmap bitmap;
HANDLE bmp;

bmp = LoadImage(NULL, "c:\\as1.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);

CBitmap cBitmap;
cBitmap.Attach( bmp );

//비트맵 정보 알아내기
BITMAP bmpinfo;
cBitmap.GetBitmap( &bmpinfo );

CDC memdc;
memdc.CreateCompatibleDC(pDC);

memdc.SelectObject(bmp);
pDC->BitBlt(10, 10, bmpinfo.bmWidth, bmpinfo.bmHeight, &memdc, 0 ,0, SRCCOPY);
pDC->StretchBlt(10, 10, 500, 500, &memdc, 0, 0, bmpinfo.bmWidth, bmpinfo.bmHeight, SRCCOPY);

OnDraw 함수에서 위와 같이 사각형을 그리고 Bitmap을 가져 왔습니다.
그런데 이상한건!!
화면에서 보이는 크기는 거의 비슷한데
인쇄를 하면 Bitmap 만 화면에서 보이는거와 확연히 다르게 작게 출력이 됩니다.

BOOL CTwaintestView::OnPreparePrinting(CPrintInfo* pInfo)
{
// default preparation
return DoPreparePrinting(pInfo);
}

void CTwaintestView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: add extra initialization before printing

}

void CTwaintestView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: add cleanup after printing
}
프린팅 관련 함수에서 수정해야 할 부분이 있는건가요??