|
BMP라도 했으니 감사합니다. ^^
방태윤 님이 쓰신 글 :
: gif 는 256 칼라 이상은 안되고,,, jpg 에는 팔레트가 없었던거 같은 기억인데..
: 오래전일이라 가물가물 하네요.그후로 바낀지도 모르겟고요,
: 암튼 잘 모르겠습니다.
:
: 광땡 님이 쓰신 글 :
: : 답변 감사합니다. ^^
: : 이렇게 해보니 8bit로 저장이 되네요.
: : 하나 더 궁금한게 있는데 이걸 다시 jpg File로 저장하니 24bit로 바뀌던데
: : 혹시 jpg File을 8bit로 저장은 못하나요??
: :
: :
: :
: : 방태윤 님이 쓰신 글 :
: : : TBitmap*bmp=new TBitmap();
: : : bmp->LoadFromFile("c:\\24bit.bmp");
: : :
: : : TBitmap*bmp256=new TBitmap();
: : : bmp256->PixelFormat=pf8bit;
: : : bmp256->Width=bmp->Width;
: : : bmp256->Height=bmp->Height;
: : :
: : : struct s_pal{
: : : LOGPALETTE pal;
: : : PALETTEENTRY dummy[256];
: : : };
: : : s_pal new_pal;
: : :
: : : new_pal.pal.palVersion=0x300;
: : : new_pal.pal.palNumEntries=256;
: : : for(int i=0;i<256;i++){
: : : new_pal.pal.palPalEntry[i].peRed=i;
: : : new_pal.pal.palPalEntry[i].peGreen=i;
: : : new_pal.pal.palPalEntry[i].peBlue=i;
: : : }
: : :
: : : bmp256->Palette=CreatePalette(&new_pal.pal);
: : :
: : : for(int j=0;j<bmp256->Height;j++){
: : : byte*s=(byte*)bmp->ScanLine[j];
: : : byte*d=(byte*)bmp256->ScanLine[j];
: : : for(int i=0;i<bmp256->Width;i++){
: : : *(d+i)=(*(s+i*3+0)+*(s+i*3+1)+*(s+i*3+2))/3;
: : : }
: : : }
: : :
: : : bmp256->SaveToFile("c:\\8bit.bmp");
: : :
: : : delete bmp256;
: : : delete bmp;
: : :
: : :
: : :
: : : 광땡 님이 쓰신 글 :
: : : : 24Bit BMP, JPG 파일을 Load하여 8Bit Gray로 변경하여 저장하고 싶은데
: : : : 어떻게 해야할지 모르겠네요.
: : : : 방법 좀 알려주세요.
|