www.gusucode.com > 声音的处理有:LPC,FFT,共振峰,频谱源码程序 > siganlandsystemusingMatlab/SSUM/spectrum/image/movePointDraw.m

    function movePointDraw(obj,eventData,ud)
% This separate function was made because of recursion limits in MATLAB.

	figure(ud.figwin);
	[rows,cols] = size(ud.imagedata.data);
	currentPoint = get(gca,'CurrentPoint');
	ud.hori = floor(currentPoint(1,1));
	ud.vert = floor(currentPoint(1,2));
	if ud.hori < 1,
		ud.hori = 1;
	elseif ud.hori > cols,
		ud.hori = cols;
	end
	if ud.vert < 1;
		ud.vert = 1;
	elseif ud.vert > rows,
		ud.vert = rows;
	end

	set(ud.h,'YData',[ud.vert ud.vert]);
	set(ud.v,'XData',[ud.hori ud.hori]);
	set(ud.p,'XData',ud.hori,'YData',ud.vert);

	content = get(ud.drawmenu,'String');
	switch lower(content{get(ud.drawmenu,'Value')})
		case 'spectrum'
			drawSpectra(ud);
		case 'values'
			drawValues(ud);
	end

    figure(ud.figwin);