¿¬½ÀÀå(´Ù¹ö¸®°í °©´Ï´Ù...)-³²±æ ±ÛÀÌ ÀÖÀ¸¸é ¹Î°¡ÃÌ¿¡ ³²°ÜÁֽðí, ȸ¿ø °¡ÀÔÀ» ¹ÞÁö ¾Ê½À´Ï´Ù. |
---|
2003/06/26 (19:31) from 203.247.202.72' of 203.247.202.72' | Article Number : 100 |
_Àü | Access : 2454 , Lines : 64 |
DIB ¸Ê ·Îµå¿Í ÀúÀå |
---|
http://codeguru.com/mfc/comments/20962.shtml http://www.codeproject.com/ http://www.gamesync.com.ne.kr/gamedev.net/prog_graphics.html (GameDev.net Çѱ۹®¼ ÇÁ·ÎÁ§Æ®) °ÔÀÓ Àû¿ë¿¹(¼Ò½ºÀÖÀ½) http://www.gametutorials.com/Tutorials/win32/Win32_Pg3.htm#Bitmaps 20030626 ÆÄÀϷεå 1.ÆÄÀÏ¿±â - fopen 2.BmpFile ÇصåÀÇ ±¸Á¶Ã¼ Å©±â¸¸Å Àаí ÀúÀå - fread 3.BmpInfo ÇصåÀÇ ±¸Á¶Ã¼ Å©±â¸¸Å Àаí ÀúÀå - fread 4.Info¿¡¼ W * H * bitÀÇ °ªÀ» ÀÐ¾î¼ º¯¼ö¿¡ ³Ö°í 5.for¹®ÀÇ ÀÌ¿ëÇؼ ¼±¾ðÇصРBYTE * Bits¿¡ Çϳª¾¿ ÀúÀå BYTE * Bits´Â W * H * b Å©±â ¸¸ÅÀÇ ¸Þ¸ð¸®¸¦ Àâ°í ¹Ýµå½Ã delete½ÃÅ´. 1) ¿ø·¡ÀÇ Å©±â¿Í º¹»çÅ©±â°¡ ´Ù¸¦ ¶§ ÇÑÁÙÀÌ ³¡³ª¸é ´ÙÀ½ÁÙ·Î À̵¿ 2) ÆÄÀÏÀ» ·ÎµåÇϸé À§, ¾Æ·¡°¡ µÚÁý¾îÁ®¼ ·Îµå -> ¸Þ¸ð¸®¿¡ ´Ù½Ã ¹Ù¸£°Ô ³ª¿Àµµ·Ï µÚÁý¿¡¼ ÀúÀåÇصдÙ. 3) Data´Â ¹ÙÀÌ·¯¸® Çü½ÄÀ¸·Î ÀúÀåµÇ¾î ÀÖ´Ù. 4) biBitCount=24 (24ºñÆ® µ¥ÀÌŸ)/ =16 (16ºñÆ® µ¥ÀÌŸ) ¼÷Á¦; 1.½ºÇÁ¶óÀÌÆ®, ¾Ö´Ï¸ÞÀÌ¼Ç ¿Ï¼º 2.±âÁ¸ÀÇ ¸Ê¿¡ Data¸¦ ÀÌ¿ëÇؼ ij¸¯ÅÍ°¡ °É¾î´Ù´Ï´Â µ¿ÀÛÀ» ±¸Çö 20030630 Ãà¼Ò, È®´ë 1.XÃà¿¡ ´ëÇؼ ¿øº» x=1ÀÏ ¶§, cx=2 À̸é 2¹è È®´ë 2¹èÈ®´ë -> °°Àº Á¡À» Çѹø¿¡ µÎ°³ ¿¬¼ÓÀ¸·Î Âï´Â´Ù. cx°¡ ÇѹøÂïÀ» ¶§, x´Â 0.5ÀÇ Á¤¼öÇüÀ¸·Î Áõ°¡ 2.Á¡ÀÇ »ö»ó°ªÀ» Àû¿ë -> ¹Ýµå½Ã(int) Á¤¼öÇü.(½Ç¼öÇüÀÌ¸é °á°ú°¡ ´Þ¶óÁø´Ù.) 3.SX/DX = XÀÇ Áõ°¡À² SY/DY = YÀÇ Áõ°¡À² 20030701 16ºñÆ®·Î ó¸® 1.24ºñÆ® RGB = 8 ºñÆ® + 8 ºñÆ® + 8ºñÆ® = 3 BYTE 2.16ºñÆ® Ä®¶ó = A R G B = 1 + 5 + 5 + 5 ºñÆ® = 2 BYTE (WORD) = 0 + 5 + 6 + 5 ºñÆ® µî ´Ù¾çÇÑ Çü½Ä Á¸Àç = 4 + 4 + 4 + 4 (µå¹®ÇüÅÂ) = 5 + 6 + 5 (¿¾³¯¹æ½Ä) 3.16ºñÆ® 󸮴 ºñÆ®¿¬»ê --> Shift¿¬»êÀ» ÇÊ¿ä·Î ÇÑ´Ù. 4.WORD C= (R<<10) | (G << 5) | (B) *((WORD *)(Bit16 + offset) = C; ...2BYTE »öÁ¤º¸·Î ÀúÀå R = C >> 10; G = (C >> 5) & 0x1f B = C & 0x1f 24ºñÆ®¸¦ 16ºñÆ®·Î ÀúÀåÇÏ¸é »ö»óÀ» ÀϺΰªÀÌ ±Ù»çÄ¡·Î ´ëÄ¡(..ºñÆ®°¡ Áٴϱñ) 16ºñÆ® -> °¢°¢ÀÇ »öÁ¤º¸¸¦ ÃßÃâÇÏ¸é ¿ø·¡ÀÇ °ªÀÇ ±ÙÁ¢ÇÑ °ª *.16ºñÆ® º¯È¯¹æ¹ý 1.DIB¼½¼ÇÀ» 16·Î ±¸¼º 2.PutPixel½Ã RGB°ªÀ» 6ºñÆ® º¯¼ö¿¡ »ðÀÔ 3.¸Þ¸ð¸®bit¸¦ WORDÇüÀ¸·Î ij½ºÆÃÇÏ¿© º¯¼ö¸¦ ³Ö´Â´Ù. *.¾ËÆĺ귣µù (R, G, B °¢°¢¿¡ ´ëÇؼ) = Src * Alpha + Deat *( 1 - Alpha) = S * A + D - D * A = A ( S - D ) + D 1.ÂïÀ» À§Ä¡ÀÇ R, G, B °ªÀ» °¡Áö°í ¿Â´Ù.(Deat) 2.ij¸¯ÅÍÀÇ °ª°ú °ø½ÄÀ» ¼¯´Â´Ù.(Src) 3.¹ÙÅÁ¿¡ Âï´Â´Ù. ¾ËÆÄ 1.0 -> ºÒÅõ¸í, 0.5 -> ¹ÝÅõ¸í, 0.0 -> Åõ¸í |