【问题标题】:How to display pixels 1:1 in a PictureBox如何在 PictureBox 中以 1:1 显示像素
【发布时间】:2016-04-10 18:40:45
【问题描述】:

我有一个位图(来自 .bmp 文件),它实际上是我之前拍摄的较大屏幕转储的一小部分。

现在我想在 PictureBox 控件 (WinForms) 中显示该位图,但我无法让它以与最初捕获时相同的比例显示。

我认为这与我的显示器的 Windows 的 DPI 设置有关,但我怎样才能快捷地使位图显示为与捕获时完全相同?

【问题讨论】:

  • SizeMode AutoSize 或 SizeMode Normal;
  • 我已经尝试过了,但是显示的图像仍然比原始屏幕转储大得多... :-(
  • 听起来您使用的是高 DPI 显示器,而您的应用程序不支持 DPI,对吗? :)
  • 我认为你是对的......并且?

标签: c# windows winforms bitmap picturebox


【解决方案1】:

我想通了!问题不是 WinForms,而是与显示的位图相关的水平和垂直分辨率。将原始屏幕转储的一部分复制到新位图(后来分配给 PictureBox 的 Image 属性的位图)时,新位图具有不同的(=默认)分辨率设置。通过更改分辨率设置以匹配源位图(原始屏幕转储)中的分辨率设置,问题就消失了!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-16
    • 1970-01-01
    • 2013-08-13
    • 2012-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多