文件交换

图像缩略图

放大

1.0.0.0版(4.13 KB)通过 里克·辛德曼
将鼠标转换为弹出式放大镜,查看2D图形的细节。

278下载

更新2016年5月11日

查看许可证

编者按:该文件是一个文件交换器周中精选

曾经希望MATLAB有一个放大镜,所以你可以看看你的地块的小区域的细节,而无需进行放大和缩小连连?只要运行与兴趣,目前的数字人物“magnify.m”,然后用鼠标左键,弹出一个放大的教职员,你控制。或者使用“Ctrl”键的同时单击(复印和打印数据时使用),弹出一个放大镜是“锁定”在图中释放。使用“<”和“>”键进行放大镜更小或更大。使用“ - ”和“+”来增加或减少的放大级别。

引用作为

里克·辛德曼(2020年)。放大(//www.tianjin-qmedu.com/matlabcentral/fileexchange/5961-magnify),MATLAB中央文件交换。检索

评论和评分(96

克里斯

增加了一个简单的修改,以允许独立的x / y的放大倍率。调整上线31的A2用户数据的设定有三个字段[2 2 0.2],调整线64调用a2_param(3)不(2)的位置组,集合线67调用a2_param(2)第(1),再加入两个额外的elseifs复制线75-78修改与您所选择的按钮a2_param(2)(我去[和])。更为有用的不仅仅是单一的变焦。

完李

很不错的工具。这是非常有帮助的。谢谢 !

赫勒林

陈旸

万柯蒂斯

非常感谢。确实有用。

毫米

非常有帮助,非常感谢你!

永阳

您好,当我把这个功能到库的MATLAB2018版本,我得到一个错误:计算图WindowButtonMotionFcn。但是,它适用于低版本的软件。

这是非常有帮助!

艾伦

伟大的功能。但是,我想在不关闭图形的情况下停止执行函数,但是没有找到一个干净的方法。
我有另一个问题,试图删除/删除放大框,通过右键单击或按住Ctrl,但可以通过替换第34-37行:

集(a2,“标签”,“MagBox”,“用户数据”,[2,0.2],“颜色”,得到(a1,“颜色”),“盒子”,“上”);放大倍数,帧大小

然后在第92行之后添加以下代码:

ELSEIF的strcmp(eventdata.Key, '退格')||STRCMP(eventdata.Key, '删除')
删除(findobj(src.Children, '类型', '轴', '标签', 'MAGBOX'))

这将在添加的轴上添加一个标签,使其更容易识别,然后删除所有放大轴时,“删除”或“退格”被按下。

徐勇

海林杜

伟大的工作!谢谢!

xj z

citysky

陈的菜肴

xiaojiang王

如何移动锁定的放大镜?

本本

超好的 !谢谢!

谢谢

孙大卫

太好了!谢谢~

梓利

谢谢

应张

太好了,谢谢!

春阳李

谢谢!

强肖

伟大的

xiaping

非常感谢你!

mms3airei

插口

这确实帮了我大忙。

仁禅师

谢谢 !!!
它帮助了我很多,我做我的代码一点点的变化,如果你不介意。
谢谢 !

胖的猫

谢谢

李余

amrkzp

呵呵

很好的~

pengxin汉

非常有帮助

马康

伟大的工作!它帮了我很多,我在代码中做了一点小小的改动。

F1 =图。
情节(1:10 0,randn(1100),(施用)/ 3,兰特(1300)),网格,
MAGNIFY(F1)
%您必须在运行下一个代码之前完成图中的放大。假设我们只放大一次。
d = GET(F1,子女');
d (1)。将放大后的图形移动到指定位置
轴= d(2);
矩形( '位置',[d(1).XLim(1),d(1).YLim(1),d(1).XLim(2)-d(1).XLim(1),d(1)。YLim(2)-d(1).YLim(1)],'LineWidth',2,'LineStyle','--','EdgeColor','r')%Mark the magnified part in the original figure

应取代“fullcrosshair”与“十字线”,因为前者是R2015不支持的,后来(也可能在R2014)万博1manbetx

鹏利周

这是非常有帮助!良好的工作!在MATLAB现在更强大

约瑟夫

它似乎没有工作的时候这个数字样式停靠 - 任何想法为什么不呢?

若要重现行为,尽量不工作的情况如下:
集(0, 'DefaultFigureWindowStyle', '对接');
图;图(1:100,randn(1100),1:300)/ 3,兰特(1300))
网格; MAGNIFY
但是,如果你回去集(0,“DefaultFigureWindowStyle”,“正常”);然后它工作得很好。

凤鸣

非常感谢你!

谢啦!这是非常辉煌!

阿里

这是非常有用的我的论文,谢谢。做得好!

完善!!!!

Xiangchun

不错的工作。
如何从目前的数字取下它,无需关闭它?

谢谢!

Nilimb

优秀的代码。我如何扩展这个到一个图像内的uipanel上的图形?

维克多P

优秀的!谢谢!

优秀的

伟大的工作,^ _ ^

在我的情况下,Y轴是log比例,似乎只是一个littile修改如下会做

更换
集(a2, YLim, a1_cp (2) + (1 / a2_param (1)) * (a2_pos (4) / a1_pos (4)) * diff (get (a1, YLim)) *(-0.5 - 0.5))(在函数“ButtonMotionCallback”)
通过
集(a2, YLim, 10。^ (log10 (a1_cp (2) + (1 / a2_param (1)) * (a2_pos (4) / a1_pos (4)) * log10 (Ylima1 (2) / Ylima1 (1)) * (-0.5 - 0.5)))

我做了以下修改才能正常工作:

在==> MAGNIFY>在39 ButtonDownCallback
- 集(GET(A2, '儿童'),...
- '线宽',2);

+ line_obj = findobj(A2, '类型', '行');
如果+〜的isEmpty(line_obj)
+集(line_obj, '线宽',2);
+端

很不错的功能!但是有一个小问题。通过与功能的图像操作有一个错误:

>> imshow(IM,[]);
>>放大;
???使用==>设置时出错
有没有“线宽”中的“图像”类属性。

错误在==>放大>ButtonDownCallback在39
集(GET(A2, '儿童'),...

因此后的误差函数继续正常工作在鼠标移动。
我认为有必要检查坐标轴上的物体是否为图像并消除直线属性的变化。

pangyuteng

检测出

很棒的工作。我想这需要另一个版本采取的一些显露出来,在Matlab中的较新版本的bug的照顾。

我用imshow(此功能),它给了我一个错误:

有没有“线宽”中的“图像”类属性。
错误在==>放大>ButtonDownCallback在39
集(GET(A2, '儿童'),...

当然,我可以通过删除这行代码轻松解决这个问题。而且,Ctrl键似乎离开了图像上的方框。另一个需要改变的是将第二个轴的XTick和YTick设置为[]:

set(a2, 'XTick', [], 'YTick', []);

此外,出色的工作!

qooroo

这是一个很棒的应用程序,但是当我用它查看plotyy图表时,它会删除一组数据。有什么值得考虑的吗?

-qooroo

我也喜欢它,但似乎并没有很好的工作时,X轴是基于日志。这是几乎所有我的使用(频率通常绘制这种方式)。我看了看代码,但不知道要多长时间带我去作出这样的MOD .....

优秀的,奇妙的功能

整齐!!非常感谢!

利萨

利萨

佛法

这真是太棒了。
我不知道如果我做错了,Ctrl +单击使框住上图,我怎样可以删除它,如果想绘制在同一轴上另一个数字。

马丁

这看起来是非常有用的,有人看到在MATLAB R2007a的后续版本有任何问题?变焦区域不位于该地块所以不能看到...

极好的,等等。

吉姆·法伦

优异的指令,用于处理鼠标按钮的运动和在GUI使用“的UserData”。除了学习,它救小时我自己的GUI的开发。

谢谢。
法伦

萨米穆拉德

很好,真的很有帮助

尹浩远

非常好!

Dinesh Appya

优秀的

戈登•迪克斯

非常有用的代码。伟大的工作!

Yvgeny Shvarzman

如果有人能告诉我,我是否可以用这个代码放大其他程序(例如powerpoint细节)?
谢谢

小工具

阡昱山新星

我通过设置“标准化”单元解决了这个问题。在一个gui中使用多个轴可以很好地工作。问题:
如何删除,如果你吃剩的窗口
偶尔打鼠标右键?

达芙妮w ^

这是一个极好的工具!谢谢!
对于那些需要它的工作与图像,只需注释出线宽度:
%设置((a2,‘孩子’),…
%“线宽”,2);
这解决了这个问题。

我试图现在弄清楚,是如何使一个GUI内部进行多个轴。似乎把放大的图像在GUI出于某种原因的边缘。有任何想法吗?

李杰Fingersh

很不错的应用,谢谢!我修改了控制略有下降。现在,方向键控制放大率中的每个轴独立地同时控制括号两者一起和+/-键控制窗口大小。

山戎张

伟大的工作!MATLAB应该将其添加在他们的身影面板标准图标...

一个小注释:如果你可以加一句“人物(F1);”“;结束;如果(nargin == 0),F1 = GCF” 第一句之后,它应该是更方便。通过这样做,由用户或当前选择的数字将自动弹出被“放大”。

感谢分享 !!!

布雷特Shoelson

我赞同次郎的建议,以及该组一致认为,这是一个非常不错的功能!

汪东城Doke

非常好!一个评论:

如果你可以在你设置线宽之前做一个检查,以防有些对象没有这个属性(例如图像,照明等)。我可以用这个来放大图像文件。

Marcelø西利

很好!

约翰D'ERRICO

在1到5的范围内,我把这个设为6。

Vicky Svidenko

哇!优秀的!

克里斯蒂娜•赫伯特

非常酷的

Tsakani Lotten

辉煌!

康Dong-il

你做了我真正需要的谢谢你!

詹姆斯·古德温

非常非常棒!

法赫德马哈茂德

奇妙的功能的确!恭喜!

亚历克斯Podgaetsky

优秀的!!!

更新

1.0.0.0

BSD许可证

MATLAB版本兼容性
创建了R14SP1
与任何版本兼容
平台兼容性
窗户 苹果系统 Linux的