<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />你好,
我自己編寫了一個小型圖像檢視器,使我能夠從 JMP 9 中瀏覽數位照片資料夾,並包含以下腳本。我遇到的問題是,我想保留使用該工具時顯示圖像的列錶框和圖形框的相對位置。目前,當我從清單中選擇一個圖像來替換初始圖像時,新的圖形框將附加在列表下方,而我希望它出現在我最初放置的位置相同的位置 - 列表的右側。我知道為什麼它正在這樣做:“<<追加”屬性垂直附加新圖表。問題是,如何修改腳本以水平附加它?
// 程式開始;
清除日誌() ;
照片資料夾= “C:\我的照片\相機卡1\102_FUJI\” ;
圖片列表=目錄中的文件(照片資料夾) ; // 每個檔案都是JPEG,所以不需要過濾它們;
表達式_建立_圖像=表達式(
圖片名稱=照片資料夾||圖片列表[圖片編號] ;
國標=圖框(
框架尺寸( 410 , 308 ) ,
X 比例( 0 , 100 ) ,
Y 軸比例( 0 , 100 ) ,
<<背景顏色( { 0.7 , 0.7 , 0.7 } ) ,
<<新增圖片(打開(圖片名稱) ,界線(左邊( 5 ) ,正確的( 95 ) ,頂部( 95 ) ,底部( 5 ) ) )
) ;
// 我不想看到軸,所以去掉它們;
國標[軸盒( 2 )] <<刪除;
國標[軸盒( 1 )] <<刪除;
) ;
Expr_替換_圖表=表達式(
西北[主人箱( 1 )] <<刪除; // 從視窗中刪除舊的;
西北<<附加(國標) ; // 追加新的;
) ;
磅=列錶框(
圖片列表,
圖片編號= (磅<<取得選定的索引)[ 1 ] ;
評估(表達式_建立_圖像) ; // 建立一個新的圖形框;
評估( Expr_替換_圖表) ; // 用新圖取代舊圖;
,
最大選擇數( 1 )
) ;
圖片編號= 1 ; // 最初顯示第一個;
評估(表達式_建立_圖像) ; // 建立圖表;
磅<<設定選定的(圖片編號, 1 ) ; // 預先選擇清單的第一個元素;
西北=新窗戶( “新窗戶” , H 列錶框(磅,國標) ) ; // 並顯示視窗;
// 程式結束;
更一般地說,有沒有一種方法可以簡單地用新圖表替換原始圖表,這樣就不需要部分解構然後重建顯示窗口,就像我現在所做的那樣?顯而易見的解決方案是簡單地將圖形框中的初始圖像替換為從列錶框中選擇的新圖像,但我似乎無法這樣做:在同一圖形框中使用“<<添加圖像”屬性第二次似乎不起作用——這就是為什麼現在我每次都創建一個新的圖錶框。
非常感謝您的任何建議。