JMP16 保存圖像現在需要引號中的圖像類型似乎 Save Image() 中的圖像類型參數現在必須用引號引起來。
腳本索引沒有反映這一點,它的示例代碼在版本 16 中不起作用。
在示例代碼中,Open() 使用 jpg 作為參數,但 Save Image() 顯示“在訪問或評估‘jpg’時命名未解析的 jpg:
img = Open( "$SAMPLE_IMAGES/tile.jpg", jpg );
obj = New Window( "tile(40,40)", img );
img << Save Image("C:/temp/Mediterranean.jpg", jpg);
將 jpg(或其他文件類型)放在引號中做工作 - 它不僅不會失敗,而且會保存在請求的類型中。
自動化和腳本數據訪問回复:JMP16 保存圖像現在需要引號中的圖像類型感謝您指出了這一點, @hardner和@Craige_Hales .
最近報告了 Save Image() 的圖像類型參數的行為變化。我們確實期望腳本索引(幫助 > 腳本索引)將被更新以證明對圖像類型參數的雙引號要求。
關於整體混亂,克雷奇的解釋是正確的。這是一項正在進行的工作。如果您以後遇到任何不一致,請隨時向 JMP 技術支持部門報告,support@jmp.com。
回复:JMP16 保存圖像現在需要引號中的圖像類型@Wendy_Murphrey
回复:JMP16 保存圖像現在需要引號中的圖像類型謝謝!我確實理解並欣賞這種動機。 我不必想像想要讓選項成為變量。
但“過渡”似乎令人困惑。在早期版本中,有相當多的案例產生了“Unquoted JSL name processed as a literal”警告,我一直在努力從我相當廣泛的 JSL 代碼庫中消除這些警告。由於要維護大量代碼,警告更改內容非常有幫助。但是這個SaveImage()例子在15中並沒有給出警告。
同時還有其他事情做過發出警告(我已經正式更改!)在 16 年仍然有效。
(當我第一次發現這個 Save Image 問題時,我想也許所有這些警告現在都是 16 中強制執行的規則,但不是)
一個示例是標題的示例代碼(來自腳本索引):
Names Default To Here( 1 );
Caption(
{100, 200},
"explanation",
Font( "Arial Black" ),
Font Size( 16 ),
Text Color( "blue" ),
Back Color( "yellow" ),
Spoken( 1 )
);在 15 中,如果您沒有圍繞藍色和黃色的引號,您會收到警告,但它在 16 中仍然有效(並且不再發出警告!)。
無論如何,只是注意到它在某些情況下失敗而其他情況下失敗時令人困惑,一些觸發警告而另一些則沒有,JMP 本身通過紅色箭頭提供的代碼 --> 過去的保存腳本使用了這種不受歡迎的方法和一些文檔仍將其顯示為示例。
我現在處於警惕狀態,儘管已經完成測試,但我可能已經錯過了其他 15/16 的不兼容性,我將嘗試主動尋找添加引號的地方。
回复:JMP16 保存圖像現在需要引號中的圖像類型JMP 正在更正一些實施細節。 不知道這種更正是故意的還是副作用。 不帶引號的名字的問題是你不能把它變成一個變量。 想像一下編寫您自己的保存對話框,該對話框允許選擇另存為類型。 您必須保持對保存功能的 N 次單獨調用,以及如果語句來選擇其中一個調用。 將變量設置為另存為類型,它會更乾淨。
通常,如果 JMP 接受帶引號的字符串或不帶引號的名稱,您將需要使用帶引號的字符串。 它看起來有點醜陋,除非您考慮它所暗示的靈活性。
回复:JMP16 保存圖像現在需要引號中的圖像類型感謝您發布此發現,我認為您應該將其報告至:support@jmp.com