问题标签 [bmp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1976 浏览

c++ - 将 Bmp 灰度读入 C

我寻找如何将 Bmp 文件读入 C 下的 2 或 1 维数组,有很多解决方案,但不是我需要的。我需要将黑白 bmp 读入(开始)二维数组,该数组必须包含从 0 到 255(灰度)的值,然后将其转换为一维数组(但这不是问题)。Matlab 会自动执行此操作,但我希望在最后在 C/C++ 下更加自主地工作,bmp 应保存到 Postgre 数据库 int 数组中。谢谢

0 投票
1 回答
1594 浏览

java - Java:来自原始 BMP 文件格式数据的 BufferedImage

我有 BMP 文件的原始像素表byte[],它的结构是:

其中 r、g、b 各为字节,填充是将行长度四舍五入为 4 字节的倍数。

那么,我怎样才能BufferedImage在不复制的情况下从这些原始数据中创建新数据,只使用这些原始数据呢?我看了看 created BufferedImagefrom DataBuffer,但我没有明白。不幸ImageIO的是,在我的情况下是不允许的。

0 投票
2 回答
1414 浏览

c# - 从 ushort 数组创建 .bmp

从数组创建位图有几个问题。我有一台相机,从中我得到了 ushort 格式的灰度值。但是如何从这些值创建位图?仅有的:

不会工作:(。我得到一个图像,可以用窗口工具打开它,但是当我用另一个图形库打开文件时,我得到了很多错误。所以现在有人如何创建一个正确的带有标题等的 bmp 文件? 有人有一些代码示例吗?这将最有帮助。

谢谢

0 投票
1 回答
520 浏览

c# - 颜色值中的灰度值

我从相机中获取格式为 23453...(16 位值)的每个像素的灰度值,然后我为我的 .bmp 设置了像素颜色

但是我怎样才能让我的灰度值变成正确的颜色值呢?那么图片可以正确的以灰度值显示吗?

谢谢

0 投票
2 回答
10418 浏览

delphi - 如何使用 delphi 创建单色的 bmp 文件(位图)

我需要一种在运行时创建 24 位位图(并保存到文件)的快速方法,指定宽度、高度和颜色

就像是

像这样打电话

0 投票
1 回答
1096 浏览

c++ - 使用正确的结构将 BMP 读入内存

我目前正在做一个隐写术项目(为我自己)。我已经编写了一些代码,但是在考虑之后,我知道有更好的方法来做我想做的事。

另外 - 这是我第一次使用动态内存分配和二进制文件 I/O。

这是我在 BMP 图像中隐藏文本文件的代码:链接到代码

另请注意,我没有使用 LSB 将消息存储在此代码中,而是替换了 alpha 字节,假设它是每像素 32 位 (bbp) 图像。如果图像中有 1、4、8、16、24 bpp,这就是为什么这不是很灵活的另一个原因。例如,如果它是 24 bbp,则 alpha 通道将是 6 位,而不是 1 字节。

我的问题是使用结构将整个 BMP 读入内存的最佳方法是什么?

这就是我的看法:

  • 读取位图文件头
  • 阅读 BITMAPINFOHEDER
  • 阅读 ColorTable(如果有的话)
  • 读取 PixelArray

我知道如何阅读这两个标题,但 ColorTable 让我感到困惑,我不知道 ColorTable 的大小,或者图像中是否有一个。

此外,在 PixelArray 之后,维基百科说可能有一个 ICC 颜色配置文件,我怎么知道存在一个?链接到 BMP 文件格式(维基百科)

另一件事,因为我需要知道标头信息才能知道 PixelArray 从哪里开始,所以我需要像上面显示的那样进行多次读取,对吧?

很抱歉所有问题都在一个,但我现在真的不确定该怎么做。

0 投票
3 回答
1362 浏览

c++ - 创建 BMP 文件

我在图像处理方面工作了一段时间,我注意到一些奇怪的事情。我正在读取 BMP 文件,使用 ReadFile 之类的简单方法以及 Microsoft 的 BMP 结构。这是代码:

这就是我读取文件的方式,然后使用简单的 for 循环将其转换为灰度。

现在,当我使用此代码编写文件时:

文件变得越来越大(30MB -> 40MB)。

发生这种情况的原因是因为我使用的是 RGBQUAD 而不是 RGBTRIPLE,但是如果我使用的是 RGBTRIPLE,我在将小图片转换为灰度时遇到问题 - 创建图片后无法打开图片(说它的结构不正确) .

文件大小也缺少一个字节,(1174kb 和 1173kb 之后)

有没有人见过这个(它只出现在小图片上)?

0 投票
5 回答
62636 浏览

c++ - 无法将参数 1 从“char *”转换为“LPCWSTR”

我正在尝试加载 BMP 文件

这来自一个例子但是我现在得到了错误

错误 C2664:“auxDIBImageLoadW”:无法将参数 1 从“char *”转换为“LPCWSTR”

我怎么能纠正这个?

0 投票
1 回答
2247 浏览

c++ - BITMAPFILEHEADER 的问题

我刚刚开始了解更多关于 .bmp 文件格式的信息并编写了一个小型 C++ 程序。

这是我的代码的摘录:

根据MSDN bmfh.bfSize应该返回位图文件的大小。

但在我的情况下bmfh.bfOffBits(54)高于bmfh.bfSize(14)?可能是什么原因?因为我的想法是以这种方式为图像数据分配内存:

0 投票
4 回答
5550 浏览

c - 如何在 C 中使用 Write() 写出字符?

我正在尝试用 C 将位图文件写入浏览器。我可以像这样编写可打印的 ascii 部分,

但是我如何用它们的十进制值写不可打印的?我知道如果我正在写入一个文件,我可以使用这样的东西,

但我不知道如何做同样的事情,而只是将它写入套接字......请帮帮我,谢谢。