Beispiel #1
0
void bmp_write_dib(bmp_structp bmp)
{
	if (_is_big_endian())
		bmp_dib_v3_header_swap_endianess(&bmp->dib);

	bmp->write_fn(bmp, (uint8_t*)&bmp->dib.header_sz, sizeof(uint32_t));
	bmp->write_fn(bmp, (uint8_t*)&bmp->dib.width, sizeof(uint32_t));
	bmp->write_fn(bmp, (uint8_t*)&bmp->dib.height, sizeof(uint32_t));
	bmp->write_fn(bmp, (uint8_t*)&bmp->dib.nplanes, sizeof(uint16_t));
	bmp->write_fn(bmp, (uint8_t*)&bmp->dib.depth, sizeof(uint16_t));
	bmp->write_fn(bmp, (uint8_t*)&bmp->dib.compress_type, sizeof(uint32_t));
	bmp->write_fn(bmp, (uint8_t*)&bmp->dib.bmp_bytesz, sizeof(uint32_t));
	bmp->write_fn(bmp, (uint8_t*)&bmp->dib.hres, sizeof(uint32_t));
	bmp->write_fn(bmp, (uint8_t*)&bmp->dib.vres, sizeof(uint32_t));
	bmp->write_fn(bmp, (uint8_t*)&bmp->dib.ncolors, sizeof(uint32_t));
	bmp->write_fn(bmp, (uint8_t*)&bmp->dib.nimpcolors, sizeof(uint32_t));
}
Beispiel #2
0
static void
bmp_write_dib(bmpfile_t *bmp, FILE *fp)
{
  bmp_dib_v3_header_t dib = bmp->dib;

  if (_is_big_endian()) bmp_dib_v3_header_swap_endianess(&dib);

  fwrite(&(dib.header_sz), sizeof(uint32_t), 1, fp);
  fwrite(&(dib.width), sizeof(uint32_t), 1, fp);
  fwrite(&(dib.height), sizeof(uint32_t), 1, fp);
  fwrite(&(dib.nplanes), sizeof(uint16_t), 1, fp);
  fwrite(&(dib.depth), sizeof(uint16_t), 1, fp);
  fwrite(&(dib.compress_type), sizeof(uint32_t), 1, fp);
  fwrite(&(dib.bmp_bytesz), sizeof(uint32_t), 1, fp);
  fwrite(&(dib.hres), sizeof(uint32_t), 1, fp);
  fwrite(&(dib.vres), sizeof(uint32_t), 1, fp);
  fwrite(&(dib.ncolors), sizeof(uint32_t), 1, fp);
  fwrite(&(dib.nimpcolors), sizeof(uint32_t), 1, fp);
}