在C#中绘制图像

时间:2011-03-09 04:50:24

标签: c# .net image graphics clipboard

我正在尝试将剪贴板中的图像复制到现有图像上。 基本上现有的图像是150 X 150白色.jpg图像。 (作为画布)

我想知道如何从剪贴板中将我的图像绘制到这个....

Image imgNew = Clipboard.GetImage(); //Getting the image in clipboard
Bitmap btnImg = new Bitmap(imgNew, 150, 100);  
Graphics g = Graphics.FromImage((Image)btnImg);
g.DrawImage(btnImg, 0, 0, 150, 100);

在此方法中,它不是在已经存在的图像上绘图。其实我在这里使用的是Imagebox。因此画布被设置为图像框的图像。

由于

2 个答案:

答案 0 :(得分:2)

您需要将图像分配到图片框

pictureBox1.Image = btnImg;

您应该使用using确保在不再需要时释放已分配的资源。完整代码:

using (Image imgNew = Clipboard.GetImage()) //Getting the image in clipboard
{
    if (imgNew != null)
    {
        Bitmap btnImg = new Bitmap(imgNew, 150, 100);
        using (Graphics g = Graphics.FromImage((Image)btnImg))
            g.DrawImage(btnImg, 0, 0, 150, 100);
        pictureBox1.Image = btnImg;
    }
}

答案 1 :(得分:1)

尝试

Image imgNew = Clipboard.GetImage(); //Getting the image in clipboard
Graphics g = pictureBox1.CreateGraphics();
g.DrawImage(imgNew, 0, 0, 150, 100);