【问题标题】:Computing BITMAPINFOHEADER biCompression value for monochrome BMP计算单色 BMP 的 BITMAPINFOHEADER biCompression 值
【发布时间】:2009-03-02 15:05:45
【问题描述】:

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

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

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

【问题讨论】:

    标签: c++ windows winapi bitmap


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      您确定不想设置biXPelsPerMeterbiYPelsPerMeter?这两个字段告诉您 X 和 Y 中每米有多少像素,您可以使用它们来设置 DPI。 biCompression只处理位图的压缩类型,如RLE、JPG、PNG等。

      【讨论】:

        【解决方案3】:

        感谢您的意见,但我也会研究 biXPelsPerMeter 和 biYPels...。我会仔细检查格式,以及设置的内容......如果是这样,你可能已经对我的问题有了第二组眼睛(头脑)。

        谢谢

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-05-16
          • 2013-05-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-09-08
          • 1970-01-01
          • 2016-03-08
          相关资源
          最近更新 更多