我在youtube上发现了一个视频:https://www.youtube.com/watch?v = KjHKwCZyAhQ,有一部分我不明白。有人可以解释一下吗?

时间:2015-10-16 09:58:34

标签: c++ c++11 visual-c++ youtube

FILE *f; 
int k = w*h; 
int s = 4 * k;
int filesize = 54 + s;

double factor = 39.375;
int m = static_cast<int>(factor);

int ppm = dpi*m;

unsigned char bmpfileheader[14] = {'B','M', 0,0,0,0, 0,0,0,0, 54,0,0,0};
unsigned char bmpinfoheader[40] = {40,0,0,0, 0,0,0,0, 0,0,0,0, 1,0,24,0};

这是在3:43到6:55的视频

我不明白这些数字的用途。

例如,我不明白为什么因子等于39.375或者为什么filesize等于54 + s。 ^

我不理解使用unsigned char ...以及数字在unsigned char中的含义。

我希望你能向我解释一下。

1 个答案:

答案 0 :(得分:0)

基于变量名称,factor是PPM和DPI之间的转换。在维基百科上查找它,你会发现它的39.375。

filesize等于54 + s,因为输出是BMP,它有一个标题,从数组名称可以看出,标题的总大小是54.标题中的字节具有unsigned char数组中给出的值,因为这是BMP的工作原理。在维基百科上查找,你就会发现原因。