调整大小并压缩jpeg

时间:2014-03-05 09:37:20

标签: c# image datagridview

我看过捕获屏幕的this教程,我做了一些编辑,效果很好,

但每张图片的分辨率为1366,768

enter image description here

我希望它像683,384

enter image description here

但我得到的只是图像的一部分

enter image description here

这是我的代码:

private void Display(Bitmap desktop)
{
    if (desktop != null)
    {
        Bitmap bmp = new Bitmap(1366, 768);
        using (Graphics g = Graphics.FromImage(bmp))
        {
            g.DrawImage(desktop, Point.Empty);
        }

        MemoryStream stream = new MemoryStream();
        Image myImg = (bmp as Image);
        myImg.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg);
        byte[] pic = stream.ToArray();

        ssWithMouseViewer.Image = myImg;
        dataGridView1.Rows.Add(pic);
    }
}

这是我的表格:

enter image description here

我想存储在datagridview图像中,分辨率为683,384且质量较差。

1 个答案:

答案 0 :(得分:0)

而不是g.DrawImage(desktop, Point.Empty);使用g.DrawImage(desktop, 0, 0, bmp.Width, bmp.Height);

并创建类似Bitmap bmp = new Bitmap(683, 384);

的位图