c++ - 计算单色 BMP 的 BITMAPINFOHEADER biCompression 值

标签 c++ windows winapi bitmap

希望有人能给出答案,而且不会太复杂。我正在处理 C++ dll(没有 C# 或 .Net,完全静态的 DLL)。

总之,它是构建单色位图的。除了决议,我所有的都在工作。我获得了设备上下文、获取兼容的设备上下文、构建位图、绘制我需要的内容(黑色/白色),然后可以保存。这一切都很好。但是,我不知道如何设置位图的分辨率。

在 C# 下从另一个实用程序进行一些测试时,我可以创建一个位图并设置分辨率。为此,我运行了一个例程来生成相同的文件内容,分辨率的参数从 1 到 300。除了“biCompression”DWORD 属性中的值外,每个图像都完全相同。默认是 96x96 的屏幕分辨率,但对于 300x300 的打印机,甚至一些分辨率为 203x203 的打印机,需要进行明显更改。

最佳答案

你确定吗?对您观察到的行为的描述对我来说听起来很可疑,我会怀疑您用来编写位图的代码或将它们读回的代码。

关于c++ - 计算单色 BMP 的 BITMAPINFOHEADER biCompression 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/602663/

相关文章:

c++ - 什么接口(interface)会将 cstrings、数组和其他类型复制到相同类型的实例?

c++ - c/c++ 函数模板中数组的正确格式

winapi - Win32 API : How to scroll down automatically a text inside EDIT control?

c++ - 更改窗口命令提示符字符串

c++ - 为什么只在标题中声明函数

c++ - 在 C++ 中将参数从一个函数传递到另一个函数

python - 使用pyw文件的Windows启动不会关闭cmd

windows - 读取日志文件并获取列中的行而不是行

c - 帮助在Windows上编译seek-bzip2

c# - 如何以编程方式清除 Windows 下的回收站?