Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何复制System.Drawing.Image值?_C#_.net_Image_Gdi+ - Fatal编程技术网

C# 如何复制System.Drawing.Image值?

C# 如何复制System.Drawing.Image值?,c#,.net,image,gdi+,C#,.net,Image,Gdi+,我试图复制一个图像值在其上绘制,在第二次绘制时忽略最后一个,并在保留的图像值上重新开始。即: Image with 4 rectangle (ImageA) -> draw a circle return to ImageA -> draw a rectangle now there are 5 rectangles 我不知道这是否也是最佳的画法?你可以创建一个新的位图并在其上放置一个图形对象,然后在临时位图上绘制ImageA并在其上绘制圆圈,完成后处理临时位图并继续在ImageA

我试图复制一个图像值在其上绘制,在第二次绘制时忽略最后一个,并在保留的图像值上重新开始。即:

Image with 4 rectangle (ImageA)
-> draw a circle
return to ImageA
-> draw a rectangle
now there are 5 rectangles

我不知道这是否也是最佳的画法?

你可以创建一个新的位图并在其上放置一个图形对象,然后在临时位图上绘制ImageA并在其上绘制圆圈,完成后处理临时位图并继续在ImageA上绘制。

我同意Blindy的观点。创建一个新的图像对象,并在保留初始图像的同时绘制该对象的顶部

Bitmap myBitmap = new Bitmap("C:\\<path");
Image myImage = (Image)myBitmap.Clone();

Bitmap myBitmap=新位图("C:\\n你能提供一些关于你的意图的更多信息吗?你是想创建一个简单的撤销/重做框架来进行图像编辑,还是想做一些更具体的事情?谢谢。我正试图在已经绘制的位图上绘制新的形状。所以我不想重画我的东西。只需在顶部添加,但只有一个新的形状。谢谢,但我只有一个图像存储,就像在S中一样内存中的System.Drawing.Image。我可以用它传递到新的图像值吗?抱歉,我以为您正在将图像作为位图加载。是的,您当然可以执行所需的操作。假设您从图像imageA开始,并希望将该图像复制到新对象中,代码与上面相同,但没有强制转换。图像myImage=imageA.Clone();