c# - 使图像适合 PictureBox

标签 c# winforms image picturebox

using (SqlConnection myDatabaseConnection = new SqlConnection(myConnectionString.ConnectionString))
{
    myDatabaseConnection.Open();
    using (SqlCommand SqlCommand = new SqlCommand("Select Photo from Employee where EmpID LIKE '%' + @EmpID + '%' ", myDatabaseConnection))
    {
        SqlCommand.Parameters.AddWithValue("@EmpID", textBox1.Text);
        var DS = new DataSet();
        var adapter = new SqlDataAdapter(SqlCommand);
        adapter.Fill(DS, "Images");

        var imagesTable = DS.Tables["Images"];
        var imagesRows = imagesTable.Rows;
        var count = imagesRows.Count;

        if (count <= 0) return;

        var imageColumnValue =
            imagesRows[count - 1]["Image"];
        if (imageColumnValue == DBNull.Value)
            return;

        var data = (Byte[])imageColumnValue;
        using (var stream = new MemoryStream(data))
        {
            pictureBox1.Image = Image.FromStream(stream);
        }

    }
}

如果图片太大 picturebox 放不下。使图像适合 picturebox 的代码是什么?

我的 picturebox 是正方形的,如果图像是矩形的,如何裁剪并在 picturebox 中显示它,如 this ,图片的下半部分将被删除。

最佳答案

首先,为了让任何图像“调整大小”以适合图片框,您可以设置 PictureBox.SizeMode = PictureBoxSizeMode.StretchImage

如果你想事先剪裁图像(即剪掉边或顶部和底部),那么你需要清楚地定义你想要的行为(从顶部开始,填充 pciturebox 的高度并裁剪其余部分,或从底部开始,将图片框的高度填充到顶部等),使用图片框和图像的高度/宽度属性来裁剪图像并获得您正在寻找的效果应该相当简单为。

关于c# - 使图像适合 PictureBox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16822138/

相关文章:

c# - 在 c# 中的 tabControl 中显示第一个标签页的下一个标签页

c# - 如何处理linq中引发的异常

C# MongoDB.Driver 2.2。 - GridFs的使用

c# - 仅限二进制数 TextBox

python - 在 Python 中创建 PNG 文件

c# - ASP.NET 自定义 404 返回 200 OK 而不是 404 Not Found

vb.net - 自定义属性未显示在属性窗口中

python - PNG 不会使用 image.getbbox() 自动裁剪

image - 2幅图像之间的联合直方图

c# - .NET 本地化不起作用