我想从视频屏幕截图中捕获图像并将其存储在文件中。当视频播放多个屏幕截图时,我们将拍摄并将所有图片存储在文件中。我的问题是每次保存我的图片时都会覆盖以前拍摄的图像。因此,在最后留下一张图片而不是图像流。我已经避免使用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是一个计时器。我有没有一种正确的方法来创建一个新的文件名而不是这个方法?
答案 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将按照路径以不同的图像名称保存图片。谢谢你。