将图像完美地放入 Picturebox C#

Fit the Image within the Picturebox Perfectly C#

我正在使用 WinForms。在我的表单中,我有一个显示图像的 picturebox 和一个用于打印图像的打印预览按钮。 picturebox 大小模式设置为 zoom。我遇到的问题是我想在不拉伸图像的情况下摆脱 picturebox 边缘的空白。

我已经尝试做的是将图片框的背景颜色变为 transparent 以匹配后面板。在我单击打印预览按钮之前它看起来不错......然后我遇到了另一个问题。如果我将 picturebox 颜色与此示例灰色的背景相匹配。打印预览会显示灰色背景 picturebox,中间有图像。

如何删除图片框中的这些空白区域?

    private void Open_Image_btn_Click(object sender, EventArgs e)
    {
        using (OpenFileDialog dlg = new OpenFileDialog())
        {
            dlg.Title = "Open Image";

            if (dlg.ShowDialog() == DialogResult.OK)
            {
                pictureBox1.Image = new Bitmap(dlg.FileName);
            }
        }
    }

摆脱那个白色space:

  • 您可以将 PictureBoxBackColor 属性 设置为 Transparent

要解决打印问题:

  • 你可以打印PictureBoxImage,图像周围没有这样的space。
  • 此外,如果您使用 DrawToBitmap 打印,您可以将 White 设置为图片的 BackColor,然后调用 DrawToBitmap 然后设置 BackColor 回到 Transparent.