2013-09-26 21 views
1

我在MATLAB使用overviewpanel顯示大圖像回調函數。 我希望圖像對比度適應圖像可見部分的值範圍。MATLAB scrollpanel addNewLocationCallback:與其他參數

我寫了一個函數adjcontrast(hIm, SPapi)這需要圖像句柄和滾動面板API作爲參數,並執行此調整。我希望在滾動面板的位置或放大率發生變化時調用該函數。

SPapi.addNewLocationCallback(@adjcontrast)adjcontrast(loc)被稱爲每當我scrollpanel的位置變化。我怎樣才能讓它通過另外兩個參數hImSPapi

回答

2

跟隨盧修斯回答:SPapi.addNewLocationCallback(@(~)adjcontrast(hIm, SPapi))完成了這項工作。

+0

做得好!如果你可以簡單地給出一個簡單的解釋,爲什麼你這樣做,我定義給你一個+1 :) –

+0

什麼是@(〜),可以簡化爲@()嗎? –

+0

不那麼清楚,我要麼它是如何工作的,但是這是我的理解:'@(〜)adjcontrast(他SPapi)'是一個函數取一個輸入參數的手柄,因此它可以被稱爲'adjcontrast( LOC)'。第一個'SPapi.addNewLocationCallback'電話後,'hIm'和'SPapi'值不需要再被更新,我相信他們不是。 – Gianni

1

我不知道,如果這有助於你的情況,但是這是你用通常的GUI組件這樣做的方法:

你必須把它花括號之內,像這樣:

set(hb,'Callback',{@pushbutton_callback,myvar,'--m'}) 

供參考:

writing-code-for-callbacks

function-handle-callbacks--Defining Callbacks as a Cell Array of Strings — Special Case

+0

SPapi.addNewLocationCallback({@ adjcontrast,他SPapi})不會在這種特殊情況下 – Gianni

+0

工作,你得到了什麼eror消息? –

+0

下標索引必須是真正的或邏輯的,在imscrollpanel/sendNewLocation() – Gianni