1

当我偶然发现这个问题时,我只是在浏览一些问题。我在 System.Drawing 方面没有经验,所以我只是想知道,您如何在图像上绘制时间戳?另外,由于我对 System.Drawing 非常感兴趣,学习如何很好地使用它以及它在各种情况下的应用的最佳资源是什么?谢谢!

4

2 回答 2

3

我正在使用下面的代码来执行此操作。它有一个格式参数,您可以使用它来指定您希望时间戳的外观。为了便于阅读,它还在时间戳后面放置了一个黑色矩形。

    protected void Stamp(Bitmap b, DateTime dt, string format)
    {
        string stampString;

        if (!string.IsNullOrEmpty(format)) { stampString = dt.ToString(format); }
        else { stampString = dt.ToString(); }

        Graphics g = Graphics.FromImage(b);
        g.FillRectangle(Brushes.Black, 0, 0, b.Width, 20);

        g.DrawString(stampString, new Font("Arial", 12f), Brushes.White, 2, 2);
    }
于 2011-05-17T09:01:44.730 回答
2

听起来就像在 Bitmap 对象上使用 GDI 到 DrawText() 一样简单。只要您确保 z 顺序正确(即在后面),它应该可以工作。我还没有尝试过,但这似乎会很好用。

于 2009-08-05T00:20:54.990 回答