|
Á¦ ¸ñ |
´äº¯ Á¾ÇÕ - Ä¿¼ ¹× API»ç¿ë¹æ¹ý |
|
ÀÛ¼ºÀÚ |
LechuckRoh |
ÀÛ¼ºÀÏ |
2003-02-27 |
Á¶È¸¼ö |
1380 ȸ |
|
÷ºÎÆÄÀÏ |
÷ºÎµÈ ÆÄÀϾøÀ½.
|
|
¸ÕÀú IlvCursor¸¦ ¸¸µé¶§ »ç¿ëÇÏ´Â Image¿Í Mask¿¡ ´ëÇѺκÐÀº ÀÚ¼¼ÇÑ »çÇ×Àº Win16À̳ª Win32 SDK APIµîÀ» ´Ù·éÃ¥¿¡¼ Cursor¸¦ ¸¸µå´Â ºÎºÐµîÀ» Âü°íÇÏ½Ã¸é ³ª¿ÍÀÖÀ» °Ì´Ï´Ù.. º» Áö Çϵµ ¿À·¡µÇ¼ ¾î¶² Ã¥ÀÎÁö´Â ±â¾ïÀ» ¸øÇϰڳ׿ä. ^^;;
IlvCursor Ŭ·¡½º ¼³¸í¿¡ º¸¸é ³ª¿ÍÀÖµíÀÌ Mask´Â Ä¿¼°¡ Ç¥½ÃµÉ ºÎºÐÀ» ³ªÅ¸³À´Ï´Ù. À©µµ¿ì¿¡¼ Ä¿¼¸¦ Ç¥½ÃÇϱâ Àü¿¡ ¸ÕÀú mask¿¡ ÇØ´çÇÏ´Â ºÎºÐÀ» Ç¥½ÃÇÑ ÈÄ¿¡ ±×À§¿¡ Image¿¡ ÇØ´çÇÏ´Â ºÎºÐÀ» Ç¥½ÃÇÕ´Ï´Ù. ÀϹÝÀûÀ¸·Î Ä¿¼¸¦ ¸¸µé¾úÀ»¶§ ¿Ü°û¼±ÀÌ Ç¥½ÃµÇ¾î¾ßÇϱ⠶§¹®¿¡ mask¿¡¼ ¼³Á¤ÇÑ ÁÖÀ§·Î 1 dot Á¤µµ¾¿ ³²°Ü³õ°í image¸¦ Ç¥½ÃÇÕ´Ï´Ù.
±×·³ ÀÌÁ¦ IlvBitmapÀ» ¸¸µé¾î¾ßÇϴµ¥ ¿©±â¼ »ç¿ëÇÏ´Â unsigned char* ŸÀÔÀÇ µ¥ÀÌÅ͸¦ ¾î¶»°Ô ¼³Á¤Çϴ°¡ ÇÏ´Â ¹®Á¦°¡ Àִµ¥, À̺κÐÀº ¸Å´º¾ó¿¡ ³ª¿ÍÀִ´ë·ÎÀε¥ ¼³¸íµå¸®¸é,
depth°¡ 1ÀÏ °æ¿ì´Â Èæ¹éÀ¸·Î Ç¥½Ã°¡ µÇ¹Ç·Î ±×³É ¹ÙÀÌÆ®¼ø¼´ë·Î ÀúÀåÇÏ¸é µË´Ï´Ù. ¾Æ·¡¿Í °°Àº ¿Ü°û¼± mask¸¦ ¸¸µé·Á°í ÇÒ °æ¿ì¿¡´Â
00111100 --- 3C 00111100 --- 3C 11111111 --- FF 11111111 --- FF 11111111 --- FF 11111111 --- FF 00111100 --- 3C 00111100 --- 3C
unsinged char* data = { 0x3c, 0x3c, 0xff, 0xff, 0xff, 0xff, 0x3c, 0x3c } ÀÌ·±½ÄÀ¸·Î ¼³Á¤ÇÏ¸é µÇ°Ú½À´Ï´Ù.
depth°¡ 8ÀÌÇÏÀÎ °æ¿ì¿¡´Â 256Ä÷¯ ÀÌÇϰ¡ µÇ°Ú´Âµ¥ À̶§¿¡´Â color index¸¦ »ç¿ëÇÕ´Ï´Ù. gif¿¡¼ ÀÌ·¯ÇÑ ¹æ½ÄÀ» »ç¿ëÇϴµ¥ 256°³ÀÇ color mapÀ» ÀÛ¼ºÇÏ°í °¢ map¿¡ ÇØ´çÇÏ´Â index¹øÈ£¸¦ ±â·ÏÇÕ´Ï´Ù. 256°³À̹ǷΠ°¢ index´Â 1byte¸¦ Â÷ÁöÇϸç, À§¿Í °°Àº mask¸¦ ÀúÀåÇÏ·Á¸é 8*8 = 64 byte°¡ ÇÊ¿äÇÕ´Ï´Ù.
depth°¡ 8º¸´Ù Å« °æ¿ì¿¡´Â RGBÄ÷¯¸¦ »ç¿ëÇÏ°Ô µÇ´Âµ¥ °è»ê½ÄÀº ¸Å´º¾ó¿¡ Àִ°Ͱú °°ÀÌ value = (red << 16) | (green << 8) | blue ¸¦ »ç¿ëÇØ¼ °è»êÇØ¼ ³Ö½À´Ï´Ù.
¸¸ÀÏ ÀÌÀü¿¡ ¸¸µé¾îµÐ ÆÄÀÏÀ» »ç¿ëÇØ¼ Ä¿¼¸¦ ¸¸µé°íÀÚ ÇÒ °æ¿ì¿¡´Â
IlvBitmap* IlvDisplay::readBitmap(const char* filename)
ÇÔ¼ö¸¦ »ç¿ëÇØ¼ BitmapÀ» ºÒ·¯¿Í¼ mask¿Í image¸¦ ³Ö¾îÁÖ¸é µË´Ï´Ù.
¸¶Áö¸· Áú¹®. Ilog¿¡¼ Windows APIÇÔ¼ö¸¦ »ç¿ëÇϴµ¥¿¡´Â ÀüÇô ¹®Á¦°¡ ¾ø½À´Ï´Ù. ´Ù¸¸ GDI¿Í °°Àº ±×·¡ÇÈ °ü·Ã ÇÔ¼ö¸¦ »ç¿ëÇϰíÀÚ ÇÒ °æ¿ì¿¡´Â Windows ¿¡¼ »ç¿ëÇÏ´Â °´Ã¼·Î º¯È¯À» ÇØÁÖ¾î¾ßÇϴµ¥
IlvView* view = new IlvView(display, (IlvSystemView)(unsigned int)m_hWnd); HDC hDC = view->getDC();
ÀÌ·±½ÄÀ¸·Î »ç¿ëÇÏ¸é µË´Ï´Ù.
|
|
|
|