Warning: filesize() [function.filesize]: stat failed for data/toshiba/Image2001.jpg in /home/todaysppc/html/app/zpda/include/list_check.php on line 102

Warning: getimagesize(data/toshiba/Image2001.jpg) [function.getimagesize]: failed to open stream: No such file or directory in /home/todaysppc/html/app/zpda/skin/nzeo_bbs/view.php on line 33

 PPC ÇÁ·Î±×·¡¹Ö °­Á 20  
 ±Û¾´ÀÌ:µ¹µ¢¾î¸®

, Hit : 656

- File #1 : Image2001.jpg(), Download : 35
  ¿À´ÃÀº ÆÄÀÏ¿¡¼­ bmp ÆÄÀÏÀ» Àд ¹æ¹ý¿¡ ´ëÇØ ´Ù·ç¾î º¾´Ï´Ù. C ¾ð¾î¿¡¼­ bmp ÆÄÀÏÀ» Àд °ÍÀº bmp ÆÄÀÏÀ» ÇϳªÇϳª ¶â¾î¼­ °¡Á®¿À´Â °Í°ú °°½À´Ï´Ù. º£ÀÌÁ÷¿¡ ºñÇØ ¹«Áö ¹«Áö ºÒÆíÇÏÁö¸¸ ÀÏ´Ü °¡Áö°í ¿À¸é Á¦ ¸¾´ë·Î ´Ù·ê ¼ö ÀÖ´Ù´Â ÀåÁ¡ÀÌ Àֱ⠶§¹®¿¡ °ÔÀÓ °³¹ßÀ̳ª ±âŸ ÀÀ¿ë ÇÁ·Î±×·¥¿¡¼­ÀÇ ÀÀ¿ë¿¡´Â ¿ÀÈ÷·Á À¯¸®ÇÏ´Ù°í »ý°¢µË´Ï´Ù.

  bmp ÆÄÀÏÀº ¾Æ·¡¿Í °°Àº ±¸Á¶¸¦ °¡Áö°í ÀÖ½À´Ï´Ù.

        ºñÆ®¸Ê ÆÄÀÏ Çì´õ(BITMAPFILEHEADER)
        ºñÆ®¸Ê Á¤º¸ Çì´õ(BITMAPINFOHEADER)
        Ä®¶ó Å×À̺í(256 Ä®¶ó ÀÌÇÏ À̹ÌÁöÀÎ °æ¿ì¿¡¸¸)
        À̹ÌÁö µ¥ÀÌÅÍ

  °£´ÜÈ÷ ¾ð±ÞÇÏ°í ÀÚ¼¼ÇÏ°Ô ¼³¸íÇÏÁö´Â ¾Ê½À´Ï´Ù. ÇÊ¿äÇϽŠ°æ¿ì ´Ù¸¥ Ã¥À» Çѹø ã¾Æº¸¼¼¿ä.(Visual C++ ¹ÙÀÌºí¿¡µµ ÀÚ¼¼È÷ ³ª¿Í ÀÖÁö¸¸... Ã¥ µÎ²²°¡ ³Ê¹« ¹«¼·ÁÒ.)

  ºñÆ®¸Ê ÆÄÀÏÀ» Àд °ÍÀº µ¥½ºÅ©Å¾ PC ÀÇ API °³¹ß ȯ°æ°ú´Â Á¶±Ý Â÷À̸¦ º¸ÀÔ´Ï´Ù. µ¥Å¾ API ¿¡¼­´Â LoadImage ÇÔ¼ö¸¦ ÀÌ¿ëÇؼ­ Çѹø¿¡ bmp ÆÄÀÏÀ» Àоî ÁÙ ¼öµµ ÀÖ¾ú°í, SetDIBitsToDevice ÇÔ¼ö¸¦ »ç¿ëÇؼ­ º¯È¯ÇÒ ¼öµµ ÀÖ¾úÁö¸¸ WinCE API ´Â LoadImage¿¡¼­ ÆÄÀÏÀ» ÀÐÀ» ¼ö ¾ø°í, SetDIBitsToDevice ÇÔ¼ö¸¦ Áö¿øÇÏÁö ¾Ê½À´Ï´Ù. ±×·¡¼­ Á¶±Ý ´Ù¸¥ ¹æ¹ýÀ¸·Î Àоî ÁÖ¾î¾ß ÇÕ´Ï´Ù.
  ¿©±â¼­´Â 16ºñÆ® ÆÄÀÏ°ú 24ºñÆ® ÆÄÀÏÀÎ °æ¿ì¸¸ ´Ù·ì´Ï´Ù. ÆÄÀÏÀÌ 256»ö ÀÌÇÏÀÎ ºñÆ®¸ÊÀÎ °æ¿ì¿¡´Â ¿¡·¯¸¦ ³¾ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ¿¡·¯µµ °Ë»çÇÏÁö ¾Ê½À´Ï´Ù.

1. Àü °­Á¿¡¼­ »ç¿ëÇÑ Orig.JPG ÆÄÀÏÀ» Æ÷Åä¼¥À» ÀÌ¿ëÇØ 24 ºñÆ® Bitmap À¸·Î ÀúÀåÇϽŠ´ÙÀ½(ÆÄÀϸíÀº Orig.bmp·Î ÇØ ÁÖ¼¼¿ä.) SD ¸Þ¸ð¸®¸¦ ÀåÂøÇϽŠºÐ²²¼­´Â PDA ÀÇ Storage Card2 Æú´õ¿¡ ³Ö¾îÁÖ¼¼¿ä. CF Ä«µå´Â Storage Card Æú´õ°¡ µÇ³ª¿ä? My Documents Æú´õ¿¡ ³ÖÀ¸¼Åµµ µÇ°í... ´Ù¸¥ Æú´õ¿¡ ³ÖÀ¸½Å ºÐÀº ³ªÁß¿¡ °æ·Î¸íÀ» ¸ÂÃß¾î ÁÖ¼Å¾ß ÇÕ´Ï´Ù. Àú´Â Storage Card2 Æú´õ¿¡ ³Ö´Â °ÍÀ¸·Î ÇÏ°Ú½À´Ï´Ù.

2. »õ·Î¿î ÇÁ·ÎÁ§Æ® Exam19¸¦ ¸¸µì´Ï´Ù. ±×¸®°í Hello World¸¦ Ãâ·ÂÇÏ´Â ºÎºÐÀ» »èÁ¦ÇÕ´Ï´Ù.

3. Àü¿ª º¯¼ö ¼±¾ð ¿µ¿ª(ÀÌÁ¨ ¾îµòÁö ¾Æ½ÃÁÒ? ¸ð¸£½Ã¸é Àü °­Á ÂüÁ¶)¿¡ ¾Æ·¡¿Í °°ÀÌ ±×¸²À» Àбâ À§ÇÑ º¯¼ö¸¦ Çϳª Ãß°¡ÇÕ´Ï´Ù.

        // Global Variables:
        HINSTANCE        g_hInst;        
        HWND                g_hwndCB;
¢º        HBITMAP g_hBmp = NULL;

4. ÇÔ¼öÀÇ ÇÁ·ÎÅä ŸÀÔ ¼±¾ð ¿µ¿ª¿¡ ¾Æ·¡¿Í °°ÀÌ ReadBitmap ÇÔ¼öÀÇ ÇÁ·ÎÅä ŸÀÔÀ» ¼±¾ðÇÕ´Ï´Ù.

        // Forward declarations of functions included in this code module:
        ......
        HWND                CreateRpCommandBar(HWND);
¢º        HBITMAP ReadBitmap( char* sFName );

5. ÇÁ·Î±×·¥ÀÇ Á¦ÀÏ ¾Æ·¡¿¡ ¾Æ·¡¿Í °°ÀÌ ReadBitmap ÇÔ¼ö¸¦ Ãß°¡ÇØ ÁÝ´Ï´Ù. ¾à°£ ±æÁÒ?

¢ºHBITMAP ReadBitmap( char* sFName )
¢º{
¢º        FILE* fp;
¢º        BITMAPFILEHEADER bf;
¢º        BITMAPINFOHEADER bi;
¢º        DWORD sz;
¢º        char* pBuf;
¢º        char* pBits;
¢º        HBITMAP hBmp;
¢º        HDC hdc;
¢º
¢º        fp = fopen( sFName, rb );
¢º        if( fp == NULL ) return NULL;
¢º        fseek( fp, 0, SEEK_END );
¢º        sz = ftell( fp );
¢º        fseek( fp, 0, SEEK_SET );
¢º        fread( &bf, sizeof(bf), 1, fp );
¢º        fread( &bi, sizeof(bi), 1, fp );
¢º        sz -= sizeof(bf) + sizeof(bi);
¢º        pBuf = new char [ sz ];
¢º        fread( pBuf, sz, 1, fp );
¢º        fclose( fp );
¢º        
¢º        hdc = GetDC(NULL);
¢º        hBmp = CreateDIBSection( hdc, (LPBITMAPINFO)&bi, DIB_RGB_COLORS,
¢º                                (void**)&pBits, NULL,  0 );
¢º        if( pBits != NULL )
¢º                memcpy( pBits, pBuf, sz );
¢º        ReleaseDC( NULL, hdc );
¢º        delete [] pBuf;
¢º        return hBmp;
¢º}

  ÀÌ ÇÔ¼ö´Â ÆÄÀϸíÀ» ¹Þ¾Æ¼­ ºñÆ®¸ÊÀ» Àд ÇÔ¼öÀÔ´Ï´Ù. Àμö sFName Àº °æ·Î°¡ Æ÷ÇÔµÈ ÆÄÀϸíÀÔ´Ï´Ù. ³»¿ëÀÌ ¸¹ÀÌ ¾î·Á¿ì¹Ç·Î Ãʺ¸ÀÚ ºÐµéÀº º¹»çÇÏ¿© »ç¿ëÇÏ½Ã°í ¼³¸íÀº °Ç³Ê ¶Ù½Ã±â ¹Ù¶ø´Ï´Ù. ÇÏÁö¸¸ ³ªÁß¿¡ °ÔÀÓ ¸¸µé°Å³ª ±×¸²À» ÀÌ¿ëÇÑ ÇÁ·Î±×·¥À» ¸¸µé ¶§´Â Ç×»ó ÀÌ¿ëÇÏ´Â ÇÔ¼ö°¡ µÉ °ÍÀÔ´Ï´Ù.

        FILE* fp;
        BITMAPFILEHEADER bf;
        BITMAPINFOHEADER bi;
        DWORD sz;
        char* pBuf;
        char* pBits;
        HBITMAP hBmp;
        HDC hdc;

  ÀÌ ÇÁ·Î±×·¥¿¡¼­ »ç¿ëµÇ´Â Áö¿ª º¯¼ö µéÀÔ´Ï´Ù. BITMAPFILEHEADER ¿Í BITMAPINFOHEADER Çü º¯¼ö´Â ºñÆ®¸Ê ÆÄÀÏÀÇ Ã³À½ ºÎºÐÀÇ Á¤º¸¸¦ Àбâ À§ÇÑ °ÍÀÔ´Ï´Ù. º¯¼ö sz ´Â óÀ½¿¡´Â ÆÄÀÏ Å©±â, ³ªÁß¿¡´Â ºñÆ®¸Ê µ¥ÀÌÅÍÀÇ Å©±â¸¦ °è»êÇÕ´Ï´Ù. pBuf ´Â ÆÄÀÏ¿¡¼­ ÀÐÀº ºñÆ®¸Ê µ¥ÀÌÅ͸¦ ÀúÀåÇÒ º¯¼öÀÌ°í, pBits ´Â ºñÆ®¸Ê À̹ÌÁö¸¦ ¸¸µé º¯¼öÀÔ´Ï´Ù. hBmp ´Â »ý¼ºµÈ ºñÆ®¸ÊÀ» °¡¸®Å°´Â º¯¼ö°¡ µË´Ï´Ù. hdc ´Â ºñÆ®¸ÊÀ» ¸¸µé¶§ »ç¿ëÇÏ´Â Àӽà DCÀÔ´Ï´Ù.


        fp = fopen( sFName, rb );
        if( fp == NULL ) return NULL;

  ÆÄÀÏÀ» ¿¬ ´ÙÀ½ ÆÄÀÏÀÌ ¿­¸®Áö ¾ÊÀ¸¸é NULLÀ» µ¹·ÁÁÖ°í ÇÔ¼ö¸¦ Á¾·áÇÕ´Ï´Ù.

        fseek( fp, 0, SEEK_END );
        sz = ftell( fp );
        fseek( fp, 0, SEEK_SET );

  ÆÄÀÏÀÇ Å©±â¸¦ °è»êÇÕ´Ï´Ù. ÆÄÀÏÀÇ Á¦ÀÏ ³¡À¸·Î °¡¼­ ±× À§Ä¡¸¦ °¡Á®¿À°í ´Ù½Ã Á¦ÀÏ Ã³À½À¸·Î µ¹¾Æ°©´Ï´Ù.

        fread( &bf, sizeof(bf), 1, fp );
        fread( &bi, sizeof(bi), 1, fp );

  ÆÄÀÏ Çì´õ¿Í Á¤º¸ Çì´õ¸¦ ÀнÀ´Ï´Ù.

        sz -= sizeof(bf) + sizeof(bi);
        pBuf = new char [ sz ];
        fread( pBuf, sz, 1, fp );

  ÆÄÀÏ Çì´õ¿Í Á¤º¸ Çì´õ¸¦ Á¦¿ÜÇÑ ³ª¸ÓÁö°¡ ºñÆ®¸Ê µ¥ÀÌÅÍÀÔ´Ï´Ù. ±× Å©±â¸¦ °è»êÇÑ ´ÙÀ½ ÇÊ¿äÇÑ ¸Þ¸ð¸®¸¦ ¼±¾ðÇÏ°í ºñÆ®¸Ê µ¥ÀÌÅ͸¦ ÀнÀ´Ï´Ù.

        hdc = GetDC(NULL);

  ÀÓÀÇÀÇ DC¸¦ ¸¸µì´Ï´Ù. ÀÌ DC ´Â È­¸é°ú ÀÏÄ¡ÇÏ´Â ÇüÅÂÀÇ DCÀÔ´Ï´Ù. ¿©±â¼­´Â Àӽ÷Π»ç¿ëÇϱâ À§ÇØ ¾Æ¹«·¸°Ô³ª DC¸¦ ¸¸µç °ÍÀÔ´Ï´Ù.

        hBmp = CreateDIBSection( hdc, (LPBITMAPINFO)&bi, DIB_RGB_COLORS,
                                (void**)&pBits, NULL,  0 );

  ±×¸²À» ³ÖÀ» ºñÆ®¸ÊÀ» »ý¼ºÇÕ´Ï´Ù. À̶§ bi ´Â BITMAPINFOHEADER Çü º¯¼öÀÔ´Ï´Ù. ÇÊ¿äÇÑ Àμö´Â BITMAPINFO ÀÇ Æ÷ÀÎÅÍÇüÀε¥, BITMAPINFO ÇüÀº BITMAPINFOHEADER Çü º¯¼ö¿¡ »ö»ó Å×À̺íÀ» Ãß°¡ÇÑ °ÍÀÔ´Ï´Ù. ±×·±µ¥ 16ºñÆ® »ö»ó ºÎÅÍ´Â »ö»ó Å×À̺íÀÌ Á¸ÀçÇÏÁö ¾ÊÀ¸¹Ç·Î BITMAPINFOHEADER ÇüÀ» BITMAPINFO ÇüÀ¸·Î ¹Ù²Ù¾î(ij½ºÆà ¿¬»ê) »ç¿ëÇصµ ¾Æ¹«·± ¹®Á¦°¡ ¾ø½À´Ï´Ù. ¸¸¾à 256»ö ÀÌÇÏÀÇ ºñÆ®¸ÊÀÌ¸é ¹®Á¦°¡ ¹ß»ýÇÕ´Ï´Ù.
  À̶§ »ý¼ºµÇ´Â ºñÆ®¸ÊÀÇ ¸Þ¸ð¸® ¿µ¿ªÀÌ pBits º¯¼ö¿¡ µé¾î¿É´Ï´Ù. ¿ì¸®´Â pBits ¿¡ ºñÆ®¸Ê µ¥ÀÌÅ͸¦ º¹»çÇØ ³ÖÀ¸¸é µË´Ï´Ù.

        if( pBits != NULL )
                memcpy( pBits, pBuf, sz );

  ¸¸¾à º¯¼ö pBits °¡ ¸Þ¸ð¸® ¿µ¿ªÀ» °¡¸®Å°°í ÀÖÀ» ¶§´Â ÀÐÀº ºñÆ®¸Ê µ¥ÀÌÅ͸¦ pBits °¡ °¡¸®Å°´Â ¿µ¿ª¿¡ ±×µð·Î º¹»çÇØ ³Ö½À´Ï´Ù.


        ReleaseDC( NULL, hdc );
        delete [] pBuf;
        return hBmp;

  DC ¿Í ¸Þ¸ð¸®¸¦ Á¤¸®ÇÏ°í »ý¼ºµÈ ºñÆ®¸ÊÀ» È£Ãâ ÇÔ¼ö¿¡°Ô µ¹·ÁÁÖ°í ÇÔ¼ö¸¦ ³¡³À´Ï´Ù.

6. WndProc ÀÇ WM_CREATE ¸Þ½ÃÁö ó¸® ºÎºÐ¿¡ ¾Æ·¡¿Í °°ÀÌ ºñÆ®¸ÊÀ» Àд ÇÔ¼ö¸¦ Ãß°¡ÇÕ´Ï´Ù. ¸¸¾à ´Ù¸¥ Æú´õ¿¡ ³ÖÀ¸½Å ºÐÀº Æú´õ À̸§À» ¹Ù²Ù¾î ÁֽʽÿÀ.

        case WM_CREATE:
                ......
¢º                g_hBmp = ReadBitmap( Storage Card2Orig.bmp );
                break;

7. WndProc ÀÇ WM_DESTROY ¸Þ½ÃÁö ó¸® ºÎºÐ¿¡ ¾Æ·¡¿Í °°ÀÌ ºñÆ®¸ÊÀ» Á¤¸®ÇÏ´Â ºÎºÐÀ» Ãß°¡ÇÕ´Ï´Ù.

        case WM_DESTROY:
¢º                if( g_hBmp != NULL ) DeleteObject( g_hBmp );
                ......

8. WndProc ÀÇ WM_PAINT ¸Þ½ÃÁö ó¸® ºÎºÐ¿¡ ¾Æ·¡¿Í °°ÀÌ ºñÆ®¸ÊÀ» È­¸é¿¡ »Ñ·ÁÁÖ´Â ºÎºÐÀ» Ãß°¡ÇÕ´Ï´Ù. ÀÌ¿¡ °üÇÑ ¼³¸íÀº Àü °­Á¸¦ ÂüÁ¶ ÇÕ´Ï´Ù.

        case WM_PAINT:
                hdc = BeginPaint(hWnd, &ps);
¢º                if( g_hBmp != NULL )
¢º                {
¢º                        hdcMem = CreateCompatibleDC( hdc );
¢º                        SelectObject( hdcMem, g_hBmp );
¢º                        BitBlt( hdc, 0, 0, 240, 270, hdcMem, 0, 0, SRCCOPY );
¢º                        DeleteDC( hdcMem );
¢º                }
                EndPaint(hWnd, &ps);
                break;

9. ÇÁ·Î±×·¥À» ½ÇÇà½ÃÄÑ º¸½Ê½Ã¿À.

  ¿ÜºÎ ºñÆ®¸Ê ÆÄÀÏÀ» Àд ºÎºÐÀº ³ªÁß¿¡ °ÔÀÓÀ» ¸¸µé°Å³ª ÇÒ ¶§ ÀÀ¿ëÇÒ °ÍÀÔ´Ï´Ù. ÀÌÇØ°¡ ¾ÈµÇ½Ã¸é Àд ÇÔ¼ö¸¦ º¹»çÇØ »ç¿ëÇÏ½Ã¸é µË´Ï´Ù.

  °á°ú°¡ Àü °­ÁÂÇÏ°í ¶È°°ÁÒ? ´Ù¸¥ À̹ÌÁö¸¦ ¾µ±î ÇÏ´Ù°¡ ±ÍÂú¾Æ¼­...


  µ¹µ¢¾î¸®
µ¹(±Ô¼Ò)->¹ÝµµÃ¼->ÄÄÇ»ÅÍ
ÄÄÇ»ÅÍ´Â µ¹·Î ºÎÅÍ ¸¸µé¾îÁø´Ù.
ÇÁ·Î±×·¡¹Ö Çؼ­ ¹ä¹ú¾î¸Ô°í »ì ¼ö ÀÖ°ÚÁö...

ȸ»ç¸¦ ºÐ´çÀ¸·Î ¿Å±äÁö ²Ï µÆ´Âµ¥ ¼öÁ¤À» ¸øÇß¾î¿ä.
±×·¯³ª 10¿ù¿¡ ´Ù½Ã ³ªÁÖ·Î °¡´Â°Ç ÇÔÁ¤.

Á¤º¸·Â:2320
Ä£Àýµµ:4031

òÐ[jin,Áø,«¸-«ó]
Á¤º¸·Â:2620
Ä£Àýµµ:5738
 
01-20 19:33
±×¸² ¹Ù²ãÁÖ¼¼¿ä. Á»´õ ¹ÇÈîÇÑ°É·Î... Èå¹µÇÑ°É·Î....
¹«¹æÀ§¿Í´Â °ü°è¾ø´Â ²É¹æÀ§°¡...
DARK ANGEL
Á¤º¸·Â:1990
Ä£Àýµµ:500
 
01-20 23:58
²É¹æÀ§.....^^)b
´ñ±Û¾²±â     ÀÛ¼ºÀÚ   Æнº¿öµå