1

在.net中绘制图像的最快方法是什么?

我正在尝试在具有 Windows 窗体控件的另一个图像之上绘制一个图像。我知道当我尝试使用循环直接绘制它时,它需要一个 Eon。

我听说过的选项是 GDI+、Direct Draw 或 DX10。我从一个固定大小的位图开始,然后在将其分配给表单对象之前对其应用 3 个以上的叠加层、图层。

谢谢,

4

1 回答 1

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 语句轻松完成。

于 2009-08-17T15:05:54.060 回答