图像缩略图

copyUIAxes

3.0.0版本(13.8 KB)通过 亚当Danz
如果存在副本UIAxes(如AppDesigner)和大多数属性到一个新的人物,再现了传奇和彩。

76下载

更新2020年6月8日

查看许可协议

编者按:该文件被选为中央MATLAB周中精选

使用copyUIAxes()来在AppDesigner或任何UIAxes重复复制到可以很容易地保存,打印,或经修饰的定期轴。

copyUIAxes将所有儿童和UIAxes定期轴的大多数属性。如果UIAxes有一个传说或彩条,它们可以在新的坐标轴重新创建了。

copyUIAxes(AX)创建一个新的人物和复制UIAxes(AX)的内容为新的数字。

copyUIAxes(AX,目的地)复制到UIAxes其可以是数字或轴柄目的地。

copyUIAxes(ax, 'copyPosition', true)将复制位置属性,因此复制的坐标轴与图形的相对位置与UIAxes或App相同。

有关其他可选输入和几个演示,请参阅文件的帮助部分。

- - - - - - - - - - - - - - - - 笔记 - - - - - - - - ----------------
uiaxis不支持Matlab的copyobj()。金宝appAppDesigner)。在r2020a中,Matlab发布了exportgraphics()和copygraphics(),它们确实支持uiaxis和uifigure金宝apps,并使得copyUIAxes()的部分过时。

有关此议题的讨论:
//www.tatmou.com/matlabcentral/answers/281318-how-can-i-save-a-figure-within-app-designer

引用作为

亚当Danz(2020)。copyUIAxes(//www.tatmou.com/matlabcentral/fileexchange/73103-copyuiaxes),MATLAB中央文件交换。检索

评论和评分(20.)

Uththama Kajan

做得很好!作品完美!谢谢您的时间和精力:)

马克斯Wollgarten

微笑袋

谢谢U,copytuiaxes()是完美的。当我使用copygraphics()来复制我的uiaxes,但只复制到剪贴板,而不是一个新的数字修改。

罗伯特•亨特

亚当Danz

@Lisa Mansson,我一直在考虑复制坐标轴位置的选项,并且已经实现了,但是我需要更多的时间来测试,所以几天后检查更新。一定要“跟随”这个页面,这样你可以得到一个通知,当功能更新。与此同时,这里有一个演示,您可以在自己的机器上运行,并根据需要进行调整。用对象句柄替换这些句柄。如果您有进一步的问题,请使用我个人资料页面上的[联系]按钮写信给我,而不是使用这个评分部分进行讨论。

FH = uifigure();
uiax = uiaxes(跳频);
C = imread(“ngc6543a.jpg”);
图像(uiax C)
轴(uiax,“紧”)
持有(uiax,“上”)
标题(uiax, 'sampleImage')

h = copyUIAxes (uiax);
h.axes.Units = uiax.Units
h.axes.Position = uiax.InnerPosition;

丽莎Månsson

嗨!
你知道一个简单的方法,使人物一样从我这里拿它appGUI的轴的像素大小?
我尝试了不同的选择,但还没有找到解决方案。我没有得到它工作使用exportgraphics在组合tiledlayout。使用imresize我害怕修改图像,因为有插值涉及,我不认为它应该是必要的,当我的原始应用程序的像素大小是我想要的。

除此之外,巨大作用。最后我得到包括当我保存这个数字的背景。谢谢

亚当Danz

@Dovletgeldi Seyitliyev,谢谢你的评分和反馈。有几个属性不是从UIAxes复制的。有些属性(比如位置属性)没有被刻意复制,因为它们会导致问题。其他属性没有被复制,因为它们是只读的。当调用copyUIAxes()时,可以将“listIgnoredProps”设置为true,以便在命令窗口中打印未复制的图形对象属性表。当前版本的copyUIAxes (vs . 2.0)应该具有与早期版本相同的行为。如果你发现了一个例外或如果你有一个功能要求,请PM我使用[联系]按钮在我的个人资料。我不想把这个评论部分变成讨论。再次感谢。

Dovletgeldi Seyitliyev

谢谢你,这是很方便的uifigure复制到正常值,然后选择“装饰”你的身材适合您的需要使用有情节的工具,它不只是复制图,

你认为是否有其他方法可以达到之前的效果?

亚当Danz

@Dovletgeldi Seyitliyev,是的,最新的2.0.0 VS与r2020a兼容。

Dovletgeldi Seyitliyev

2020a适用吗

乔纳斯

谢谢你,优秀的功能。

惠英里郑某

希望Q

我只是用这个功能的应用程序设计的情节复制到数字的窗口,所以我可以用print语句将其保存到.png文件。功能精美的工作,很容易添加到我的项目。非常感谢亚当。

张胸

罗希特德希穆克

你好,
如果XAxisTickLabels是单元格数组,则不能使用此函数。获取此错误“值必须是单个或double类型的向量,其值会增加”。
请帮忙解决这个问题

Md。拉赫曼

完美担任我的目的。易于使用和有据可查的。

莱昂

正是我需要的!非常感谢分享这一计划。

如果你的目标是保存一个图形,然后重新加载它,这里是如何做到的:
%保存:
newFig =图();
figHandle = copyUIAxes(app.UIAxes,newFig)
savefig (figHandle AA.fig);

%重新加载它:
figHandle = openfig( 'AA.fig');
axHandle = GCA(figHandle);
copyobj(axHandle.Children,app.UIAxes)

如果图形句柄可以在不创建独立图形的情况下保存和重载,那就更好了。

希望Q

为了打印的目的,帮助解决复制uiaxes到axes对象。我很欣赏图例和colorbar的选项。

希望Q

更新

3.0.0

加入copyPosition输入到该图内复制的轴的位置。其他小的改动。

2.0.0.1

更新版本的兼容性领域;不改变代码。

2.0.0

更新了Matlab的r2020a所做的更改

1.2.0.1

公告:r2020a的更新即将发布。

1.2.0

现在,随着categoricalHistograms工程;如果有复制性的问题出现新的警告信息;的DrawNow()之前的复制加入;轴能见度被设置在端部仅当UIAxis能见度“接通”。

1.1.1

只改变了缩略图图像。

1.1.0

输出结构中返回的目标图形句柄;改进的错误处理;改善listIgnoredProps文本。

1.0.1

编辑描述;不改变代码。

MATLAB版本兼容性
创建与R2019b
兼容R2016a到R2020a
平台的兼容性
视窗 苹果系统 Linux
确认

启发:export_fig