안녕하세요. 모두들 수고가 많읍니다.
작업환경은 borland c dos 입니다.
사이즈가 176X220인 빨간색 8bit(256 color) bmp파일을 읽어서
화면에 디스플레이하는 소스입니다.
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<dos.h>
#define WIDTH 176
#define HEIGHT 220
void main(void)
{
int x,y,k,ix,iy,midx,midy;
unsigned int i,input;
int gd=DETECT,gm;
FILE *fp;
fp=fopen("c:\\bmp\\red256.bmp","rb");
initgraph(&gd,&gm,"c:\\borlandc\\bgi");
midx=getmaxx()/2;
midy=getmaxy()/2;
ix=midx-WIDTH/2;
iy=midy+HEIGHT/2;
rewind(fp);
for(k=1;k<=1078;k++) // 8bit (256 color) BMP Hearder
input=fgetc(fp);
for(y=0;y<HEIGHT;y++){
for(x=0;x<WIDTH;x+=1){
input=fgetc(fp);
putpixel(ix+x,iy-y,input);
}
}
getch();
closegraph();
fclose(fp);
}
위에서 putpixel함수에서 input 값이 hex로 'EO'가 나오는데
putpixel 함수가 제대로 나오지 않네요.
putpixel 함수는 0~15(16color) 까지 밖에 표현못하는데(conio.h에서)
256color를 표현하려면 어떤 함수를 써야 하는지 궁금합니다.
아무로 찾아도 없어서 고수님들께 부탁드립니다.
(비주얼이 아닌 도스모드에서요)
|