C#:在图像上绘制时间戳

时间:2009-08-05 00:17:49

标签: c# .net image-manipulation system.drawing

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

2 个答案:

答案 0 :(得分: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);
    }

答案 1 :(得分:2)

听起来就像在Bitmap对象上使用GDI到DrawText()一样简单。只要你确保z顺序是正确的(即在后面)它应该工作。我没试过,但似乎它会运作良好。

相关问题