Clim Change to help slider

1 回表示 (過去 30 日間)
Adam
Adam 2012 年 3 月 1 日
hello everyone do not know how slider can change the value Clim [0 b]. The property inspectr axes I have not found the box for the callback.
function varargout = books(varargin)
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @books_OpeningFcn, ...
'gui_OutputFcn', @books_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
function books_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
function varargout = books_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
function slider1_Callback(hObject, eventdata, handles)
set(handles.edit1,'String',...
num2str(get(handles.slider1,'Value')));
I = imread('cameraman.tif');
imshow(I)
function slider1_CreateFcn(hObject, eventdata, handles)
if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor',[.9 .9 .9]);
end
function edit1_Callback(hObject, eventdata, handles)
val=str2double(get(handles.slider1,'Slider'));
if isnumeric(val) & length(val)==1 & ...
val >= get(handles.slider1,'Min') & ...
vas <= get(handles.slider1,'Max')
set(handles.slider1,'Value',val);
else
handles.numberOfErrors = handles.numberOfErrors + 1;
set(handles.edit1,'CLim',...
[handles.errorCLim,num2str(handsles.numberOfErrors)]);
guidata(gcbo, handles);
end
function edit1_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

採用された回答

Adam
Adam 2012 年 3 月 2 日
if I want to change only one parameter Clim help riders as I enter the second value that remained unchanged.
max_val = get(handles.slider1,'Value');
min_val = 256;
set(handles.axes,'CLim',[min_val. max_val],...
get(handles.slider1,'Value'));
  1 件のコメント
Walter Roberson
Walter Roberson 2012 年 3 月 2 日
The period after min_val does not appear to have any purpose in the set() line.

サインインしてコメントする。

その他の回答 (4 件)

Adam
Adam 2012 年 3 月 1 日
what's wrong?
.
.
.
set(handles.axes,'CLim',get(handles.slider1,'Value'));
.
.
.

Walter Roberson
Walter Roberson 2012 年 3 月 1 日
Clim needs to be set to a pair of numeric values (an array of 2 elements). When you get() the Value of a slider, you only get one numeric value.

Adam
Adam 2012 年 3 月 2 日
I have tried something like that, but in vain.
min_val = get(handles.Slider1,'Value');
max_val = max(max(get(handles.I,'CData')));
set(handles.axes,'CLim',[min_val. max_val],...
get(handles.slider1,'Value'));
I can help somehow? I do not know how. thank you
  3 件のコメント
Adam
Adam 2012 年 3 月 2 日
ok, I did so, and it still has an error I put a specific value and it worked.
min_val=16;
max_val=60;
set(handles.axes,'CLim',[min_val max_val]);
When you insert a
min_val = get(handles.Slider1,'Value');
max_val = max(max(get(handles.I,'CData')));
is stop to working
Walter Roberson
Walter Roberson 2012 年 3 月 2 日
CD = get(handles.I,'CData');
max_val = max(CD(:));
This will work whether the CD is 2 dimensional (indexed image) or 3 dimensional (RGB image). Your previous code would fail on RGB images because max(max()) would only reduce 2 of the 3 dimensions.

サインインしてコメントする。


Adam
Adam 2012 年 3 月 2 日
I'm sorry I had found out why: We use Slider1 Slider1 and I wrote .... Many times I thank everyone for their help

カテゴリ

Help Center および File ExchangeGraphics Object Programming についてさらに検索

タグ

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by