C#PictureBox清理并正确缩放

时间:2018-05-27 16:35:02

标签: c# .net winforms

我正在尝试清理Windows窗体应用程序中的PictureBox,然后在插入图像后放置图像。我搜索过类似的情况,但是像:

pictureBox1.Image=null;
pictureBox1.InitialImage=null;
pictureBox1.Invalidate();
pictureBox1.Dispose();

不能以任何组合方式工作。我使用此方法打开图像并将其放在PictureBox

void openImage()
{
    DialogResult dr = openFileDialog1.ShowDialog();

    if (dr == DialogResult.OK)
    {
        file = System.Drawing.Image.FromFile(openFileDialog1.FileName);
        pictureBox1.Image = file;
        opened = true;
    }
}

之后,使用HighQualityBicubic对图像进行插值,但结果将放在原始图像的顶部。我使用了Zoom的{​​{1}}属性,因此它不会裁剪图像或覆盖表单的其余部分。

有没有办法删除原始图片并放大框中的结果?

插值方法(代码的有罪部分): void bicubic(int newHeight,int newWidth)         {

PictureBox

2 个答案:

答案 0 :(得分:1)

您必须创建一个超出尺寸的图像。在您的代码中,您正在创建具有原始图像大小的新图像

22

这可能会解决您的问题

答案 1 :(得分:0)

Nothing会为您拉伸图像。

如果您需要其他大小调整属性,只需滚动 PictureBoxSizeMode 枚举。

至于重新分配,将PictureBox.SizeMode = PictureBoxSizeMode.StretchImage PictureBox属性设置为Image应该足够了