⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pi_zoomscrollmotion.m

📁 基于matlab的反演程序,用于地球物理勘探中射线追踪及偏移成像程序.
💻 M
字号:
function zoomscrollmotion(action);
global SCALE_OPT NUMBER_OF_COLORS GRAY_PCT CLIP COLOR_MAP NOBRIGHTEN PICKS PICKCOLOR XAXISTOP ZOOM_VALUE ZOOM_LOCKS
h=get(gcf,'userdata');
hi=h(5);
ha=gca;
oldpt=get(findobj(gcf,'type','axes','tag','MAINAXES'),'userdata');
newpt=get(gca,'currentpoint');
dxpt=newpt(1,1)-oldpt(1);
dypt=newpt(1,2)-oldpt(2);
imxdat=get(hi,'xdata');
imydat=get(hi,'ydata');
axdat=get(ha,'xlim');
aydat=get(ha,'ylim');
if(strcmp(action,'zoomscrollmotion'))
    newxdat=axdat+dxpt;
    newydat=aydat+dypt;
    if(newydat(1)<=imydat(1)|newydat(end)>=imydat(end))
        newydat=aydat;  % limits motion to image, y data
    end
    if(newxdat(1)<=imxdat(1)|newxdat(end)>=imxdat(end))
        newxdat=axdat;  % limits motion to image, x data
    end
elseif(strcmp(action,'zoominoutmotion'))
    dxdat=(axdat(end)-axdat(1))*.02;
    dydat=(aydat(end)-aydat(1))*.02;
    xdat=[axdat(1)-dxdat axdat(end)+dxdat axdat(1)+dxdat axdat(end)-dxdat];
    ydat=[aydat(1)-dydat aydat(end)+dydat aydat(1)+dydat aydat(end)-dydat];
    if(dypt>=0)
        % enlarging box
        nx1=sort([imxdat(end) xdat(2)]);
        nx2=sort([imxdat(1) xdat(1)]);
        ny1=sort([imydat(1) ydat(1)]);
        ny2=sort([imydat(end) ydat(2)]);
    elseif(dypt<=0)
        % shrinking zoom box
        nx1=sort([imxdat(end) xdat(3)]);
        nx2=sort([imxdat(1) xdat(4)]);
        ny1=sort([imydat(1) ydat(3)]);
        ny2=sort([imydat(end) ydat(4)]);
    end
    newxdat=sort([nx1(1) nx2(2)]);
    newydat=sort([ny1(2) ny2(1)]);
end
axspts=get(gca,'currentpoint');
figpts=get(gcf,'currentpoint');
set(gca,'userdata',[axspts(1,1) axspts(1,2) figpts(2)],...
    'ylim',newydat','xlim',newxdat);
PI_positionaxes_lineposition;
PI_zoomlock;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -