我在 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 有一部分我不明白。有人可以解释这部分吗?的主要内容,如果未能解决你的问题,请参考以下文章

在 iFrame 中显示 YouTube 视频

获取 youtube 频道上所有上传视频的带有 id 的 XML

如何在 youtube 上获取可下载的直播视频 URL

如何获取 YouTube 频道名称?

如何使用 PHP 在另一个 youtube 频道上上传一个 youtube 视频

用 Java 将视频从我的网络服务器上传到 Youtube