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

发布于 2024-07-29 15:59:59 字数 242 浏览 9 评论 0原文

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

I was just browsing some questions when I stumbled upon this one. I am not experienced in System.Drawing, so I'm just wondering, how would you draw a timestamp onto an image? Also, as I'm very interested in System.Drawing, what are the best resources for learning how to use it well, and its application in various situations? Thank you!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

感悟人生的甜 2024-08-05 15:59:59

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

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

I am using the code below to do this. It has a format parameter which you can use to specify how you want the timestamp to look. It also puts a black rectangle behind the timestamp for readability.

    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);
    }
小糖芽 2024-08-05 15:59:59

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

It sounds like it would be as simple as using GDI to DrawText() on a Bitmap object. As long as you make sure the z-order is correct (i.e. at the back) it should work. I haven't tried it but that seems like it would work well.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文