在我的应用程序中,我有一个文本框,我可以在其中通过运行时的命令生成图像,但是现在我想检查图像是否存在。如果没有图像,那么我想生成标签。这是我的代码。我试图通过正则表达式实现它。
else if (Regex.IsMatch(label, "^<IMG.*>"))
{
var imageLabel = Regex.Replace(label, "<IMG|>", "");
if (System.Drawing.Image.FromFile($"{imageLabel}.bmp") != null)
{
var image = System.Drawing.Image.FromFile($"{imageLabel}.bmp");
graphics.DrawImage(image, x, y, image.Width, image.Height);
x = image.Width + 5f;
if (image.Height > rowHeight)
{
rowHeight = image.Height;
}
}
else
{
var font = GetRowFont(isBold, isUnderLine, isHigh, selectedCharwidth);
graphics.DrawString("<?>", font, Brushes.Black, new PointF(x, y));
x += label.Length * font.Size;
}
}
例如,我在文件夹中有一个名为ABC.bmp的图像,所以如果我键入它会生成图像,如果没有名为ABC的图像则会生成一个标签''。如果我输入了错误的名称,它将显示一个异常。对不起,错误的解释。
答案 0 :(得分:0)
您可以使用File.Exists方法修改代码以检查文件是否存在:
if (File.Exists($"{imageLabel}.bmp"))
{
var image = System.Drawing.Image.FromFile($"{imageLabel}.bmp");
....