2009-08-05 73 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); 
    }