1
알려진 크기, 깊이, 팔레트 등의 비트 맵 이미지가 포함 된 메모리에 배열이 있습니다. 이 배열을 사용하여 이미지의 GraphicsMagick 표현을 작성하여 BMP 헤더로이 파일을 작성하고 다른 소프트웨어에서이 파일을 볼 수있게하려고합니다.GraphicsMagick을 사용하여 메모리 스트림에 비트 맵의 BMP 헤더를 만드는 방법은 무엇입니까?
지금까지 나는 이와 같은 것을 가지고있다. (중요한 라인 - 요청에 따라 전체 프로그램을 추가 할 수있다.) 첫째, 변수 :
FILE *fp_out;
ExceptionInfo exception;
Image *image;
ImageInfo *image_info;
char buffer[BUFFER_SIZE] = {0};
const int w = WIDTH, h = HEIGHT;
그리고 관련 코드 :이 비트 맵의 image.bmp 파일이 생성됩니다
image = ConstituteImage(w, h, "RGB", CharPixel, buffer, &exception);
image_info = CloneImageInfo((ImageInfo *) NULL);
fp_out = fopen("image.bmp", "wb");
image_info->file = fp_out;
WriteImage(image_info, image);
하지만, BMP 헤더가 그냥이 첫 번째 바이트 포함 이런 식으로 :
id=ImageMagick version=1.0
class=DirectClass matte=False
columns=74 rows=75 depth=8
<binary data of my image>
내가 뭘 잘못하고 있니? 어떤 문서에 초점을 맞추어야합니까? 그것은 꽤 압도적이다.