将图形对象转换为位图对象。

20

如何使用C#将图形对象转换为位图对象?


你想用它做什么?在“Graphics”对象上绘制并保存为图像文件吗? - TheVillageIdiot
3个回答

23
Bitmap myBitmap = new Bitmap(width, height, myGraphics);

或者:

Graphics myGraphics = Graphics.FromImage(myBitmap);
// some code with draw on myGraphics
myGraphics.Dispose();

5
new Bitmap(.., my Graphics) 不会复制图形的像素到位图中,也不会以其他方式让 myGraphics 的内容可访问。第二个解决方案是针对不同问题的解决方案(有些相反于所要求的):使用 Graphics 方法将绘制到位图中的方法。 - ToolmakerSteve
我曾经为了这个目的创建了一个 ToBitmap 扩展。NuGetsource 都可以使用。注意:ToBitmap 扩展仅适用于 Windows。 - György Kőszeg

10

您是不是指的是System.Drawing.Graphics?Graphics类是一个图像表面,已经是一个位图。

您想用它做什么?

using(Graphics g = Graphics.FromImage(bitmap))
{
  //draw here
}
或者
Bitmap bmp = new Bitmap(100,100,graphics);

12
文档中只是说“指定新位图分辨率的Graphics对象”;这并不像是从Graphics对象复制任何内容。 - O. R. Mapper

1
这似乎是你想要的:DaniWeb,虽然有点烦人,但它确实提供了一个可行的解决方案。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接