MCPcopy Create free account
hub / github.com/RenderKit/embree / storeTga

Function storeTga

tutorials/common/image/tga.cpp:13–41  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

11 inline void fwrite_ushort(unsigned short v, std::fstream& file) { file.write((const char*)&v,sizeof(v)); }
12
13 void storeTga(const Ref<Image>& img, const FileName& fileName)
14 {
15 /* open file for reading */
16 std::fstream file;
17 file.exceptions (std::fstream::failbit | std::fstream::badbit);
18 file.open (fileName.c_str(), std::fstream::out | std::fstream::binary);
19
20 fwrite_uchar(0x00, file);
21 fwrite_uchar(0x00, file);
22 fwrite_uchar(0x02, file);
23 fwrite_ushort(0x0000, file);
24 fwrite_ushort(0x0000, file);
25 fwrite_uchar(0x00, file);
26 fwrite_ushort(0x0000, file);
27 fwrite_ushort(0x0000, file);
28 fwrite_ushort((unsigned short)img->width , file);
29 fwrite_ushort((unsigned short)img->height, file);
30 fwrite_uchar(0x18, file);
31 fwrite_uchar(0x20, file);
32
33 for (size_t y=0; y<img->height; y++) {
34 for (size_t x=0; x<img->width; x++) {
35 Color c = img->get(x,y);
36 fwrite_uchar((unsigned char)(clamp(c.b)*255.0f), file);
37 fwrite_uchar((unsigned char)(clamp(c.g)*255.0f), file);
38 fwrite_uchar((unsigned char)(clamp(c.r)*255.0f), file);
39 }
40 }
41 }
42
43 inline unsigned char fread_uchar (std::fstream& file) { unsigned char v; file.read((char*)&v,sizeof(v)); return v; }
44 inline unsigned short fread_ushort(std::fstream& file) { unsigned short v; file.read((char*)&v,sizeof(v)); return v; }

Callers 1

storeImageFunction · 0.85

Calls 6

fwrite_ucharFunction · 0.85
fwrite_ushortFunction · 0.85
clampFunction · 0.50
openMethod · 0.45
c_strMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected