|
최준호.스페로 님이 쓰신 글 :
: 안녕하세요 스페로 입니다.
:
: int gd=DETECT,gm;
: initgraph(&gd,&gm,"c:\\borlandc\\bgi");
:
: 위 함수로 그래픽 모드를 잡으신다면
:
: 640x480 16칼라 입니다.
:
: 아주 오래된 게임프로그래밍 같은 책을 보면
:
: putpixel()같은 함수로는 프로그래밍 하지 않습니다.
:
: 저도 지금은 책이나 자료 그리고 기억이 나지 않아 어떻게 설명 드릴수는 없지만
:
: 오래된 도스용 게임프로그래밍이나 그래픽에 관련된 C책을 보셔야 할겁니다.
:
: bios를 이용해서 저수준 그래픽 모드를 잡고
:
: 직접 그래픽 번지 B000H 인가?? 이용해서
: 직접 그래픽 메모리에 값을 세팅하는 방법으로 점찍기 함수부터 구현 한답니다.
:
: intx86같은 함수들과 union regs 공용체를 이용해서 거의 어셈블리 같은거랑 짬뽕으로..
: 하던 기억이 나지만
:
: 책을 보지 않는 이상 어떻게 답변을 드리거나 자료를 구할수가 없네요
: 그럼^^
:
: bestheat 님이 쓰신 글 :
: : 안녕하세요. 모두들 수고가 많읍니다.
: : 작업환경은 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를 표현하려면 어떤 함수를 써야 하는지 궁금합니다.
: : 아무로 찾아도 없어서 고수님들께 부탁드립니다.
: : (비주얼이 아닌 도스모드에서요)
: :
|