【问题标题】:Conversion from string "C:\Mediamemebuilderpro\MDAL1Imag" to type 'Double' is not valid."从字符串“C:\Mediamemebuilderpro\MDAL1Imag”到类型“Double”的转换无效。”
【发布时间】:2018-01-06 01:12:03
【问题描述】:

我已经启动了一个新应用程序,每 30 秒它会将一张图片保存到临时目录,但我需要使用不同的名称保存每张照片,例如 MDAL1Image1.jpg 、 MDAL1Image2.jpg 等,但我收到此错误

{"Conversion from string "C:\Mediamemebuilderpro\MDAL1Imag" to type 'Double' is not valid."}

这是我得到错误的那一行

PB1.Save("C:\Mediamemebuilderpro\" + "MDAL1Image" + nametosave + ".jpg", System.Drawing.Imaging.ImageFormat.Bmp)
    timetosavetemp = 0

这是我得到错误的代码

Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick
    timetosavetemp = timetosavetemp + 1
    If timetosavetemp >= 30 Then
        Dim nametosave = 1
        nametosave = nametosave + 1
        Dim PB1 As New Bitmap(PictureBox1.Image)

        PB1.Save("C:\Mediamemebuilderpro\" + "MDAL1Image" + nametosave + ".jpg", System.Drawing.Imaging.ImageFormat.Bmp)
        timetosavetemp = 0

    End If
End Sub

【问题讨论】:

标签: vb.net


【解决方案1】:

使用String.Format 构造文件名,根据需要更改段。

Dim filename As String = "MDAL1Image" 'Change as needed
Dim path As String = String.Format("C:\Mediamemebuilderpro\{0}{1}.jpg", filename, nametosave)
PB1.Save(path, System.Drawing.Imaging.ImageFormat.Bmp)

当使用... "MDAL1Image" + nametosave + ... 时,它试图对作为双精度数的nametosave 和作为字符串的"MDAL1Image" 执行二元运算。它无法将字符串解释为有效的双精度值。

【讨论】:

  • 坦克解决了这个问题,但我需要它为每张照片分配新名称,但它只保存一张照片。
  • 在滴答之间不会记住nametosave 的值。您可能希望得到一个日期时间戳并改用它。这可能会对您有所帮助:stackoverflow.com/questions/14294156/…
猜你喜欢
  • 2011-07-30
  • 2015-02-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多