¸ÅÇÎ ¸ðµå »ç¿ëÇÏ¿© È®´ë Ãà¼Ò ±¸ÇöÇϱâ


À̹ÌÁö ÀÚü¸¦ Å©°Å³ª ÀÛ°Ô ÇÏ·Á¸é StretchBlt¸¦ »ç¿ëÇÏÁö¸¸ À̹ÌÁö ÆíÁý âÀ» È®´ë/Ãà¼ÒÇÏ°Ô µÉ ¶§´Â
ÆíÁýµÈ ¼±À̳ª ±ÛÀÚ´Â Å©±â°¡ º¯ÇÏÁö ¾Ê±â ¶§¹®¿¡ È®´ë³ª Ãà¼ÒÇÑ »óÅ¿¡¼­´Â ÆíÁýÀ» ÇÒ ¼ö ¾ø°Ô µË´Ï´Ù.

"±×¸²ÆÇ" ¿¡¼­¿Í °°ÀÌ È®´ë¶Ç´Â Ãà¼ÒµÈ »óÅ¿¡¼­µµ ÆíÁýÀÌ °¡´ÉÇϵµ·Ï ÇÏ·Á¸é
OnPrepareDC¸¦ ¼±¾ðÇÑ ´ÙÀ½°ú °°ÀÌ ÀÛ¼ºÇÏ¸é µË´Ï´Ù.


void  CMyView::OnPrepareDC(CDC*  pDC,  CPrintInfo*  pInfo)   

{ 

CScrollView::OnPrepareDC(pDC,  pInfo); 



pDC->SetMapMode(MM_ANISOTROPIC); 

pDC->SetViewportExt(m_nZoomRate,  m_nZoomRate); 

pDC->SetWindowExt(100,  100); 

} 


OnPrepareDC()´ÂOnDraw() ÇÔ¼ö¿¡ ÁøÀÔÇϱâ Àü¿¡ È£ÃâµÇ´Â ÇÔ¼ö·Î, ÀÌ ¾È¿¡¼­ SetMapMode(),
SetViewportExt(), SetWindowExt()¸¦ »ç¿ëÇÏ¿© Pixel°ªÀ» Á¶ÀýÇØ ÁÝ´Ï´Ù.

m_nZoomRateÀ̶ó´Â ¼ýÀÚ¸¸ º¯È­½ÃÄÑÁÖ¸é ¿øÇÏ´Â Å©±â·Î È­¸éÀÌ(À̹ÌÁö°¡) º¯ÇÏ°Ô µË´Ï´Ù.
Help¸¦ º¸½Ã¸é ¾Ë°ÚÁö¸¸, m_nZoomRate´Â ¹Ýµå½Ã 1ÀÌ»ó À̾î¾ßÇÕ´Ï´Ù. (0ÀÏ °æ¿ì ¿¡·¯¹ß»ý)

  • m_nZoomRate = 100 À̸é À̹ÌÁöÀÇ ½ÇÁ¦ »çÀÌÁî°¡ µÇ°í,
  • m_nZoomRate < 100 À̸é Ãà¼Ò À̹ÌÁö,
  • m_nZoomRate > 100 À̸é È®´ë À̹ÌÁö°¡ µË´Ï´Ù.

ÀÌ·¸°Ô ÀÛ¼ºÇÑ ´ÙÀ½, ¾Æ·¡¿Í °°ÀÌ Command ¸¦ ÀÛ¼ºÇؼ­ »ç¿ëÇÏ¸é µË´Ï´Ù.

void CMyView::OnZoomIn() 

{ 

       m_nZoomRate = 120; 

       Invalidate(FALSE);  // OnPrepareDC()¸¦ È£ÃâÇÑ ÈÄ¿¡ OnDraw()°¡ È£ÃâµÈ´Ù. 

} 


Á÷Á¢ ÇØº¸½Ã¸é Á¤¸» °£´ÜÇÏ´Ù´Â °ÍÀ» ½Ç°¨ÇÏ°Ô µÉ °Ì´Ï´Ù.

´ÙÀ½ÀÇ <±×¸² 1>, <±×¸² 2>, <±×¸² 3> Àº °¢°¢ 50%, 100%, 200% ¸¦ Àû¿ëÇÑ ¿¹ÀÔ´Ï´Ù.

<±×¸² 1 - 50%>

<±×¸² 2 - 100%>

<±×¸² 3 - 200%>



- 2001.07.01 Smile Seo -