我在 youtube 上找到了一个视频:https://www.youtube.com/watch?v=KjHKwCZyAhQ 有一部分我不明白。有人可以解释这部分吗?
Posted
技术标签:
【中文标题】我在 youtube 上找到了一个视频:https://www.youtube.com/watch?v=KjHKwCZyAhQ 有一部分我不明白。有人可以解释这部分吗?【英文标题】:I found a video on youtube: https://www.youtube.com/watch?v=KjHKwCZyAhQ and there is a part I don't understand. Can someone explain this part? 【发布时间】:2015-10-16 09:58:33 【问题描述】: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 或为什么文件大小等于 54 + s。 ^
而且我不明白 if unsigned char ... 的用途以及 unsigned char 中的数字意味着什么。
希望你能给我解释一下。
【问题讨论】:
可能是我第一次在标题中看到 URL。我们需要它吗?我们通常不希望对场外资源有任何依赖。只问关于代码的问题。 它不是“无符号字符”。这是他们的数组。你对 C++ 了解多少? 我意识到它不再“酷”了,而是read the documentation... 【参考方案1】:根据变量名称,factor
是 PPM 和 DPI 之间的转换。在 Wikipedia 上查找它,您会发现它是 39.375。
文件大小等于 54+s
,因为输出是 BMP,它有一个标头,从数组名称可以看出,标头的总大小为 54。标头中的字节有unsigned char
数组中给出的值,因为这就是 BMP 的工作方式。在 Wikipedia 上查找它,您会发现原因。
【讨论】:
以上是关于我在 youtube 上找到了一个视频:https://www.youtube.com/watch?v=KjHKwCZyAhQ 有一部分我不明白。有人可以解释这部分吗?的主要内容,如果未能解决你的问题,请参考以下文章
获取 youtube 频道上所有上传视频的带有 id 的 XML