¿¬½ÀÀå(´Ù¹ö¸®°í °©´Ï´Ù...)-³²±æ ±ÛÀÌ ÀÖÀ¸¸é ¹Î°¡ÃÌ¿¡ ³²°ÜÁֽðí, ȸ¿ø °¡ÀÔÀ» ¹ÞÁö ¾Ê½À´Ï´Ù.

2003/06/26 (19:31) from 203.247.202.72' of 203.247.202.72' Article Number : 100
Delete Modify _Àü Access : 2444 , 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 -> Åõ¸í

          


Backward Forward Post Reply List