0

我想自动保存我的图像,但我不知道如何在 DM 中设置它。我的脚本如下:

Image img
img.GetFrontImage()
string name
if ( GetString( "Enter Name of Sample", "Hello!", name ))
    result( "\nThe Name Of Sample is "+name)
string path
if ( GetDirectoryDialog("select path","",path) )
    result("\nSelected path is:"+path)

While( img.ImageIsValid() )
{
    For( number i=i; i<1000000;i++ )
    {
        img.SetName(name+i)
        img.SaveImage(name+i)
        img := FindNextImage(img)
    }
}
4

2 回答 2

0

您编写的脚本不会保存任何内容,但很可能会产生错误。

For-loop 中,您 1000000x 获得要保存的“下一个”图像,但是当您到达末尾时,“下一个”图像无效。因此,下一次迭代将在 处抛出错误img.SetName,因为img此时不是有效图像。

您想要做的是如下所示:

number i = 1
While( img.ImageIsValid() )
{
    img.SetName(name+i)
    img.SaveAsGatan(name+i)
    img := FindNextImage(img)
    i++
}
于 2015-11-24T11:55:06.880 回答
0

您似乎缺少的主要内容是从目标目录路径和每个图像的名称的组合创建完整路径名的行。因此,除了 BmyGuest 答案中建议的更改之外,您还应该添加对 PathConcatenate 的调用,如下所示:

number i = 1
While( img.ImageIsValid() )
{
    img.SetName(name+i)
    string filepath = path.PathConcatenate(name+i)
    img.SaveAsGatan(filepath)
    img := FindNextImage(img)
    i++
}
于 2015-11-24T16:55:05.273 回答