我在 Linux 上有一个基于 C 的小型相机应用程序,它带有一个内置的 microhttpd 网络服务器,可以为网络客户端提供捕获的 jpeg。
效果很好,因为相机进行 jpg 编码,但作为进一步的选择,我需要在服务器端更改图像像素。因此,通过另一个相机界面,我得到了 3 channel rbg 图像缓冲区,问题是,我需要哪种图像格式才能使用例如 HTML 将像素数据显示为图像。
<img src="/pixeldata"/>
?我不喜欢使用过度膨胀的图像库来创建 png 或类似的图像,所以我的第一个想法是使用
Content-Type: image/rgb
,这是 SGI rgb 图像格式,但正如我发现的那样,它添加了一个 512! byte header 只是为了本质上告诉图像宽度,高度, channel 数......所以我的挑战是:
- 如何将原始像素数据包装到简单的图像标题中
- 最好使用纯 C 语言,不要向我的相机项目添加大型图像库
- 使其可以在 Firefox、Crome 等 HTML 中显示,即 ..
谢谢
最佳答案
我建议使用 BMP format .据我所知,它添加了一个大约 50 字节的 header 。
BMP 格式也很简单,它只是以您想要的格式存在的普通像素数据。如果您担心文件的 header 大小,您得到的不会比 BMP 小很多。
关于html - 如何在 HTML 中显示原始 rgb 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37961744/