在.net中绘制图像的最快方法是什么?
我正在尝试在窗体控件中的另一个图像上绘制图像。我知道当我尝试使用循环直接绘制它时需要一个Eon。
我听过的选项是GDI +,Direct Draw或DX10。我开始使用固定大小的位图,并在将3 +叠加图层分配给表单对象之后应用它。
谢谢,
答案 0 :(得分:4)
如果您的叠加层是图像(可能是带透明度的PNG图像),那么一般的技巧是从您想要绘制的图像创建一个Graphics对象,然后将其他图像渲染到它上面:
Bitmap b1 = (Bitmap) Bitmap.FromFile("bitmap1.bmp");
Bitmap b2 = (Bitmap)Bitmap.FromFile("bitmap2.bmp");
Bitmap b3 = (Bitmap)Bitmap.FromFile("bitmap3.bmp");
using (Graphics g = Graphics.FromImage(b1))
{
g.DrawImage(b2, new Point(0, 0));
g.DrawImage(b3, new Point(50, 50));
}
如果您的叠加层是绘制对象(文本,线条,形状等),那么您将创建或获取适当的画笔和笔,并使用Graphics对象将所需内容渲染到图像上。完成后,务必确保丢弃任何一次性用品。这是使用using语句最方便的。