繁体   English   中英

将位图的内容粘贴到PictureBox中

[英]Paste the contents of a Bitmap into a PictureBox

我目前正在编写一个小的绘画应用程序,用户可以在面板上进行绘制。 我正在使用选择工具,希望能够选择面板的某个区域,然后将所选区域直接粘贴到面板右侧的PictureBox中。

我的问题是,当我尝试从面板粘贴正在创建的位图时,我的代码目前无法正常工作,我在PictureBox中得到了一个大的红色X,而不是实际的图像。 我知道该图像已正确复制到位图,因为我尝试在其周围放置一些代码以jpeg格式将其保存到磁盘,然后查看该图像,并且一切正常。

这是我的代码:

private void tbCopy_Click(object sender, EventArgs e)
{
    int width = selectList[0].getEnd().X - selectList[0].getInitial().X;
    int height = selectList[0].getEnd().Y - selectList[0].getInitial().Y;

    using (Bitmap bmp = new Bitmap(width, height))
    {
        pnlDraw.DrawToBitmap(bmp, new System.Drawing.Rectangle(
                                      selectList[0].getInitial().X,
                                      selectList[0].getInitial().Y, 
                                      width, height));
        pbPasteBox.Image = bmp;             
    }
}   

width和height只是我要复制的区域的尺寸,而selectList是一个List,其中包含一个对象,该对象包含我要复制的区域的坐标。

任何帮助将不胜感激。

您的问题是使用括号中的代码完成了()中的对象的处理(因为不再需要using(){}时,它是using(){}

只需删除括号即可使Bitmap bmp = new Bitmap(width, height)解决您的问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM