2009-08-05 239 views
0

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

回答

2

听起来像使用GDI来绘制位图对象上的DrawText()一样简单。只要你确定z顺序是正确的(即在后面),它应该可以工作。我没有尝试过,但似乎它会工作。

+0

谢谢。我会尝试的! – 2009-08-05 22:51:33

2

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

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); 
    }