如何在图像上写文本

本文关键字:文本 图像 | 更新日期: 2023-09-27 17:56:29

我正在尝试做的是从连接到计算机的网络摄像头中保存图片,在该图片上写一个字符串,然后保存文件。我的程序运行方式是首先它拍照,然后我希望能够在它上面写字。这是我到目前为止在保存的图像上编写的代码,但它抛出了一个"外部异常"。

Bitmap myBitmap = new Bitmap("C:''Users''me''Desktop''CamApp''" + filename + ".jpeg");
Graphics g = Graphics.FromImage(myBitmap);
g.DrawString("HELLO", new Font("Tahoma", 40), Brushes.White, new PointF(0, 0));
myBitmap.Save("C:''Users''me''Desktop''CamApp''" + filename + ".jpeg",
    System.Drawing.Imaging.ImageFormat.Jpeg);

提前谢谢。

如何在图像上写文本

您看到的问题在另一个问题中进行了讨论: 被新位图(文件路径)锁定的免费文件

使用采用文件名的 Bitmap 构造函数时,文件将被锁定,直到释放Bitmap。 这样可以防止覆盖该映像文件。

您可以使用@Brian对上述问题的回答来加载Bitmap,而不会使文件保持锁定状态:https://stackoverflow.com/a/14837330/34208

使用此方法加载图像后,您将能够保存原始文件。

使用代码示例进行编辑:

更换您的生产线...

Bitmap myBitmap = new Bitmap("C:''Users''me''Desktop''CamApp''" + filename + ".jpeg");

Bitmap myBitmap = FromFile(@"C:'Users'me'Desktop'CamApp'" + filename + ".jpeg");

并确保从链接的答案中复制FromFile方法。