如何将多张图片保存为不同的文件名vb.net?

时间:2014-08-01 06:34:18

标签: vb.net

我想从视频屏幕截图中捕获图像并将其存储在文件中。当视频播放多个屏幕截图时,我们将拍摄并将所有图片存储在文件中。我的问题是每次保存我的图片时都会覆盖以前拍摄的图像。因此,在最后留下一张图片而不是图像流。我已经避免使用show file对话框,因为我希望自动存储图片。

当程序进入循环时,此代码将导致文件A被覆盖:

    Bmp.Save("C:\Users\pnasguna\Desktop\A.png", System.Drawing.Imaging.ImageFormat.Png)

我想获得如下结果:  A1.png,  A2.png,  A3.png,  ...  An.png

请指导我。谢谢 以下是我目前的代码:

   If mati = 2 Then
   Bmp.Save("C:\Users\pnasguna\Desktop\A.png", System.Drawing.Imaging.ImageFormat.Png)
   ElseIf mati = 5 Then
   Bmp.Save("C:\Users\pnasguna\Desktop\A1.png", System.Drawing.Imaging.ImageFormat.Png)
   ElseIf mati = 8 Then
   Bmp.Save("C:\Users\pnasguna\Desktop\A2.png", System.Drawing.Imaging.ImageFormat.Png)
   ElseIf mati = 11 Then
   Bmp.Save("C:\Users\pnasguna\Desktop\A3.png", System.Drawing.Imaging.ImageFormat.Png)
   ElseIf mati = 14 Then
   Bmp.Save("C:\Users\pnasguna\Desktop\A4.png", System.Drawing.Imaging.ImageFormat.Png)
   ElseIf mati = 18 Then
   Bmp.Save("C:\Users\pnasguna\Desktop\A5.png", System.Drawing.Imaging.ImageFormat.Png)

顺便说一句,mati是一个计时器。我有没有一种正确的方法来创建一个新的文件名而不是这个方法?

2 个答案:

答案 0 :(得分:1)

它覆盖A.png的原因是因为你一次又一次地给它起了同样的名字。

这很容易解决。你能做的是 -

  • 创建一个变量以保持点击次数。

    /*int count = 1;*/
    Dim count As Integer
    
  • 每次进入循环(count+=1或根据需要)时更新它。

  • 将其添加到您的路径

    Bmp.Save("C:\Users\pnasguna\Desktop\A" & count & ".png", System.Drawing.Imaging.ImageFormat.Png
    

完成。

修改 如果你已经有一个循环计数器,那么你可以使用它,不需要创建一个新的变量(当然,除非你想要它持久化)。

<强>更新

对不起,我的不好。 &amp; 用于字符串连接而不是 +

答案 1 :(得分:-1)

Picturebox以不同的名称保存文件

在按钮上使用以下代码:

Static Count As Integer
Count +=1
PictureBox1.Image.Save(("c:\image" & Count.ToString &".jpg"), System.Drawing.Imaging.ImageFormat.Jpeg)

输出 - 当您单击此按钮时,picbox将按照路径以不同的图像名称保存图片。谢谢你。