si2*_*zle 0 c# copy bitmap paste picturebox
我目前正在编写一个小型绘图应用程序,用户可以在Panel上绘图.我正在使用选择工具,并希望能够选择面板的某个区域,然后将此选定区域直接粘贴到我刚刚在Panel右侧的PictureBox中.
我的问题是我的代码目前无法正常工作,当我尝试从面板粘贴我正在创建的Bitmap时,我在PictureBox中获得了一个大的红色X而不是实际的图像.我知道图像正在正确地复制到Bitmap,因为我尝试在它周围放一些代码将它作为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;
}
}
Run Code Online (Sandbox Code Playgroud)
宽度和高度只是我要复制的区域的尺寸,而selectList是一个包含一个对象的List,其中包含我要复制的区域的坐标.
任何帮助将不胜感激.
你的问题是using(){}当使用大括号内的代码完成时,()中的对象被处理掉,因为它被认为不再需要.
简单地移除支架就可以Bitmap bmp = new Bitmap(width, height)解决您的问题
| 归档时间: |
|
| 查看次数: |
1365 次 |
| 最近记录: |