bmp파일 만들기
c언어 완전 쌩초보인데요, bmp파일 만드는데, 난항이여서요 ㅜㅜ
(1000x1000) 이미지는 검정으로 칠하고,그 안에 (800,800) (800,900) (900,800) (900,900)의 네 꼭지점으로 이루어진 사각형 부분만 빨강으로 칠하는 코드를 작성하는 것인데요,
#include
#include
main(){
write_BMP_file();
}
write_BMP_file()
{
//bitmap file header
short int magic_number = 0x424d;
unsigned int file_size = 0x2dc6f6;
short int reserved1;
short int reserved2;
unsigned int offset = 0x36;
//bitmap info header
unsigned int info_header_file_size = 0x28;
unsigned int width = 0x3e8;
unsigned int height = 0x3e8;
short int color_frame = 0x01;
short int pixel_for_one_bit = 0x18;
unsigned int image_compression = 0x00;
unsigned int image_size = 0x2dc6c0;
unsigned int horizontal_resolution = 0x04;
unsigned int vertical_resolution = 0x04;
unsigned int color_palette = 0x00;
unsigned int number_of_important_color = 0x00;
//data
unsigned int black = 0x000000;
unsigned int red = 0x0000ff;
FILE*f;
//bitmap file header
f=fopen("mybmp.bmp","wb");
fwrite(&magic_number,2,1,f);
fwrite(&file_size,4,1,f);
fwrite(&reserved1,2,1,f);
fwrite(&reserved2,2,1,f);
fwrite(&offset,4,1,f);
//bitmap info header
fwrite(&info_header_file_size,4,1,f);
fwrite(&width,4,1,f);
fwrite(&height,4,1,f);
fwrite(&color_frame,2,1,f);
fwrite(&pixel_for_one_bit,2,1,f);
fwrite(&image_compression,4,1,f);
fwrite(&image_size,4,1,f);
fwrite(&horizontal_resolution,4,1,f);
fwrite(&vertical_resolution,4,1,f);
fwrite(&color_palette,4,1,f);
fwrite(&number_of_important_color,4,1,f);
//data
fwrite(&black,2400000,1,f);
fwrite(&black,2400,1,f);//1
fwrite(&red,300,1,f);//2
fwrite(&black,300,1,f)//3 --1,2,3을 100번 반복하려는데 어떻게 하는지 모르겠음.
fwirte(&black,3000,1,f);
fclose(f);
return 0;
}
확인해주세요~ㅠㅠ
코드를 변경해봤습니다.
... 참고해보세요.
줄무늬가 보입니다. 네이버에서. 비트맵 분석. 비트맵 헤더. 비트맵 저장.으로 찾으시거나.
데브피아 자료실에서 검색. 코드프로젝트에서 검색. MFC. WindowsAPI. 영상처리 책 참고해보세요.
비트맵 저장하기 연습
http://kldp.org/node/153742
[파일:7]
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
댓글 달기