贡献者: addis
saveas()
使用的画幅是 figures 中的 Position
尺寸。
Position
属性和 axis 的 InnerPosition
属性可以都设为一样的像素,这样就会有 “全屏” 效果。
set(gca, 'XTick', []);
可以删除坐标点和数字。
set(gcf, 'Color', 'none');
以及 set(gca, 'Color', 'none');
就会移除背景,显示为黑色。
plot()
在 figure 中画了一个函数图,如何保存为背景透明的图片呢?Matlab 这方面的支持并不怎么好。
saveas(gcf, '...svg')
和 print()
无论是 svg 还是 png 都无法导出透明背景。目前的方法是导出 svg 然后用一个脚本移除 <g><rect ... /></g>
元素,另外也可以移除边框。
exportgraphics(gcf,'transparent.eps', 'ContentType','vector', 'BackgroundColor','none')
据说可以导出透明矢量图(未测试)。
[I,map,alpha] = imread()
可以检查 png 是否含有透明部分(map
默认输出空矩阵)。
imshow()
然后 set(gca, 'AlphaData', alpha)
可以显示透明效果(透明部分是棋盘格)