ÄÄÇ»ÅÍ
ù ÆäÀÌÁö ·£´ý ±Û ȸ¿ø°¡ÀÔ ·Î±×ÀÎ
ºñ°ø°³ ¼Õ´Ô ¡¦ 2011-02-10 03:58:03
ºñÆ®¸ÊÀ̹ÌÁö ÇÕ¼º

ºñÆ®¸Ê À̹ÌÁö°¡ 2ÀåÀÌ Àִµ¥, °¡·Î¼¼·Î »çÀÌÁî´Â °°°í
A.bmp ´Â 24ºñÆ® ºñÆ®¸ÊÀÌ°í, B.bmp ´Â 8ºñÆ® indexed ºñÆ®¸ÊÀÌ¿¡¿ä.

ÀÌ µÎ À̹ÌÁö¸¦ ÇÕ¼ºÇؾߵǴµ¥.. ¾î¶»°Ô ÇҰųĸé
B.bmp¿¡¼­ °¢ Çȼ¿ÀÇ Ä÷¯À妽º¸¦ A.bmpÀÇ µ¿ÀÏÇÑ ÁÂÇ¥ Çȼ¿ÀÇ ¾ËÆÄ°ªÀ¸·Î ¾µ°Å°Åµç¿ä.
¹«½¼ ¸»ÀÎÁö ÀÌÇØ°¡ µÇ½Ã³ª¿ä;

B.bmp À̹ÌÁöÀÇ (52,14) ÁÂÇ¥ÀÇ Ä÷¯À妽º°¡ 0x2f ¶ó¸é
A.bmp À̹ÌÁöÀÇ (52,14) ÁÂÇ¥ Çȼ¿ÀÇ ¾ËÆÄ°ªÀ» 0x2f À¸·Î ÇÕ¼ºÇÏ·Á´Â°Ì´Ï´Ù.
ÀÌ·¸°ÔÇؼ­ ÃÖÁ¾ÀûÀ¸·Î´Â ¾ËÆÄä³ÎÀ» °¡Áø 32ºñÆ® ºñÆ®¸Ê C.bmp ¸¦ ¸¸µé·Á´Â°ÅÁÒ.

Æ÷Åä¼¥À̵ç, ÀÏ·¯½ºÆ®µç, Ç÷¡½¬µç.. ¾î¶² ¼ö¸¦ ½á¼­¶óµµ ÀÌ°É ÇÒ¼ö ÀÖ´Â ¹æ¹ýÀÌ ÀÖÀ»±î¿ä?

S/W | 2222¸íÀÌ Àоú¾î¿ä. 18.226.187.101

0
1 ºñ°ø°³ ¼Õ´Ô ¡¦ 2011-02-10 04:14:58
Æ÷Åä¼¥

b ¸¦ ±×·¹À̽ºÄÉÀÏ·Î Àüȯ ÈÄ Å¬¸³º¸µå º¹»ç

a ´Â bg¸¦ ·¹À̾î·Î º¹Á¦ÈÄ bg´Â »èÁ¦
Äü¸¶½ºÅ©¸ðµå Àüȯ > ºÙ¿©³Ö±â > Äü¸¶½ºÅ© ÇØÁ¦ > delete Å°

±×¸®°í ÀúÀåÀº ÀçÁÖ²¯...

ÀÌÁö¸¸ Ȥ½Ã ´ë·®À¸·Î ÇÒ°Å¸é ¿¬¶ôÁÖ¼¼¿ä °í°»´Ô ÇÁ·Î±×·¥ ¸¸µé¾îµå¸³´Ï´Ù.
2 ºñ°ø°³ ¼Õ´Ô ¡¦ 2011-02-10 04:16:28
±Ùµ¥ 32ºñÆ® ºñÆ®¸ÊÀº ÁøÂ¥ ÇÁ·Î±×·¥ Â¥¼­ ÇÕ¼ºÇÏ´Â°Ô °¡Àå ¼ÓÆíÇÔ;
3 ºñ°ø°³ ¼Õ´Ô ¡¦ 2011-02-10 04:18:17
¾Æ¾Æ¾Æ... Ä÷¯°ªÀÌ ¾Æ´Ï¶ó À妽º±¸³ª;;;
ÀÌ°Ç ÇÁ·Î±×·¥Â¥´Â°Å¹Û¿¡ ´ä¾øÀ½;;;
À̹ÌÁö ÇÁ·Î¼¼½Ì Àü°øÀΠģ±¸ ¹äÇѹø »çÁÖ¸é Çѽ𣠶ҴÚÇÏ¸é ¸¸µé¾îÁÙµí
4 ºñ°ø°³ ¼Õ´Ô ¡¦ 2011-02-10 12:07:30
¿äÁò¿¡ Á¦°¡ ÇÑâ ÇÏ°í ÀÖ´Â À̹ÌÁö ÇÁ·Î¼¼½ÌÇÏ°í ºñ½ÁÇϳ׿ä...
MatlabÀ¸·Î ÇÏ¸é ½¬¿ò.
5 ºñ°ø°³ ¼Õ´Ô ¡¦ 2011-02-10 17:52:48
·ÎÁ÷Àº ±Û¿¡ ´Ù ÀÖÀ¸´Ï ±¸Çö¸¸ ÇÏ¸é µÇ°Ú³×¿ä.
º°·Î ¾î·Á¿î°Å ¾Æ´Ï´Ï±ñ °³¹ßÀÚ ÇÑ¸í ºÙÀâ°í ¸¸µé¾î ´Þ¶ó°í Çϼ¼¿ä
6 ºñ°ø°³ ¼Õ´Ô ¡¦ 2011-02-11 22:07:56
#include
#include
#include
#include

BOOL BlendImage( char *fnBaseimage, char *fnAlphaimage, char *fnResult );

int main( int argc, char *argv[] )
{
if( argc != 4 )
{
printf( "Usage: %s [bitmap1] [bitmap2] [filename]\n", argv[0] );
printf( "bitmap1: 24bit bitmap image\n" );
printf( "bitmap2: 8bit indexed bitmap to using as alpha channel.\n" );
printf( "filename: filename of blended 32bit bitmap image.\n" );
return 0;
}

if( BlendImage(argv[1], argv[2], argv[3]) )
printf( "success.\n" );
else
printf( "failure.\n" );
return 0;
}

BOOL BlendImage( char *fnBaseimage, char *fnAlphaimage, char *fnResult )
{
HANDLE hFile;
DWORD dwRead;
unsigned char *bufBaseimage, *bufAlphaimage;
DWORD sizeBaseimage, sizeAlphaimage;
BITMAPFILEHEADER *bfhBaseimage, *bfhAlphaimage;
BITMAPINFOHEADER *bihBaseimage, *bihAlphaimage;
RGBQUAD *rqAlphaimage;
unsigned char *rasterAlphaimage, *rasterBaseimage;

// load base image to buffer
hFile = CreateFile( fnBaseimage, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL );
sizeBaseimage = GetFileSize( hFile, NULL );
bufBaseimage = (unsigned char*)malloc( sizeBaseimage );
memset( bufBaseimage, 0, sizeBaseimage );
ReadFile( hFile, bufBaseimage, sizeBaseimage, &dwRead, NULL );
CloseHandle( hFile );
bfhBaseimage = (BITMAPFILEHEADER*)bufBaseimage;
bihBaseimage = (BITMAPINFOHEADER*)(bufBaseimage + sizeof(BITMAPFILEHEADER));
rasterBaseimage = bufBaseimage + bfhBaseimage->bfOffBits;

// load the alpha image to buffer
hFile = CreateFile( fnAlphaimage, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL );
sizeAlphaimage = GetFileSize( hFile, NULL );
bufAlphaimage = (unsigned char*)malloc( sizeAlphaimage );
memset( bufAlphaimage, 0, sizeAlphaimage );
ReadFile( hFile, bufAlphaimage, sizeAlphaimage, &dwRead, NULL );
CloseHandle( hFile );
bfhAlphaimage = (BITMAPFILEHEADER*)bufAlphaimage;
bihAlphaimage = (BITMAPINFOHEADER*)(bufAlphaimage + sizeof(BITMAPFILEHEADER));
if( bihAlphaimage->biClrUsed > 0 ) rqAlphaimage = (RGBQUAD*)(bufAlphaimage + sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER));
else rqAlphaimage = NULL;
rasterAlphaimage = bufAlphaimage + sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER) + (sizeof(RGBQUAD)*bihAlphaimage->biClrUsed);

// save
bfhBaseimage->bfSize = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER) + 4*(bihBaseimage->biWidth*bihBaseimage->biHeight);
bfhBaseimage->bfOffBits = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER);
bihBaseimage->biBitCount = 32;
bihBaseimage->biCompression = BI_RGB;
bihBaseimage->biSizeImage = 0;
bihBaseimage->biClrUsed = 0;
bihBaseimage->biClrImportant = 0;
hFile = CreateFile( fnResult, GENERIC_WRITE, 0, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL );
WriteFile( hFile, bfhBaseimage, sizeof(BITMAPFILEHEADER), &dwRead, NULL );
WriteFile( hFile, bihBaseimage, sizeof(BITMAPINFOHEADER), &dwRead, NULL );
for( long y = 0; y < bihBaseimage->biHeight; y += 1 )
{
for( long x = 0; x < bihBaseimage->biWidth; x += 1 )
{
WriteFile(hFile, rasterBaseimage, 3, &dwRead, NULL);
WriteFile(hFile, rasterAlphaimage, 1, &dwRead, NULL);
rasterBaseimage += 3;
rasterAlphaimage += 1;

// x °¡ biWidth-1 À϶§, biWidth%4 °¡ 0 ÀÌ ¾Æ´Ï¸é biWidth%4 ¹ÙÀÌÆ®¸¸Å­ ´õ º¹»çÇØ¾ß ÇÑ´Ù.
if( x == bihBaseimage->biWidth-1 && (bihBaseimage->biWidth*3)%4 != 0 )
{
rasterBaseimage += 4 - (bihBaseimage->biWidth*3)%4;
rasterAlphaimage += 4 - (bihAlphaimage->biWidth*3)%4;
}
}
}
CloseHandle( hFile );

free( bufBaseimage );
free( bufAlphaimage );
return TRUE;
}
´ñ±ÛÀ» ÀÛ¼ºÇÏ½Ç ¼ö ¾ø½À´Ï´Ù.
(±ÇÇÑÀÌ ¾ø´Â ȸ¿ø·¹º§)
¸ñ·ÏÀ¸·Î
ÀÌ¿ë¾à°ü | ±¤°í/Á¦ÈÞ | °³ÀÎÁ¤º¸Ãë±Þ¹æħ | ¹®ÀÇ/½Å°í | ¸ð¹ÙÀÏ TE31 | ¼­¹ö ºÎÇÏ : 10%
½Ç½Ã°£ Issue Ä¿¹Â´ÏƼ TE31 [¾ËÁö·Õ] ¨Ï 2002-2024
TOP arrow_upward