2009-08-05 5 views
0

this oneを見つけたときにちょっとした質問をしていました。私はSystem.Drawingに慣れていないので、画像にタイムスタンプをどのように描画するのですか?また、私はSystem.Drawingに非常に興味を持っているので、使い方を学ぶための最良のリソースと、さまざまな状況でのそのアプリケーションについて教えてください。ありがとうございました!C#:画像にタイムスタンプを描く

答えて

2

BitmapオブジェクトにGDIを使ってDrawText()を使うのと同じくらい簡単ですね。 zオーダーが正しいことを確認している限り(つまり、後ろに)、それが機能するはずです。私はそれを試していないが、それはうまくいくようだ。

+0

ありがとうございます。私はそれを試みる! –

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