Copying a nonvisible figure causes images to have weird coloring?
1 次查看(过去 30 天)
显示 更早的评论
So, I have this code that showed the figure resultsf (which has 'visible' set to 'off'). I copy it because I do not wish for it to be deleted when the user closes the figure window.
global resultsf;
f = figure('Name', 'Results');
copyobj(allchild(resultsf), f);
set(f, 'visible', 'on');
However, the problem is that when I display resultsf by itself (by setting 'visible' to 'on'), the images (grayscale) in the figure display perfectly. But, when I use the above code, the images will have have a coloring to them.
采纳的回答
Walter Roberson
2012-7-18
colormap is per-figure, and is not a property of any child object of the figure. When you create the Results figure, it is given the default colormap, and unless you specifically change that, any mapped child object will use that default colormap.
You should
set(f, 'Colormap', get(resultsf, 'Colormap'))
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Colormaps 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!