贡献者: 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) 可以显示透明效果(透明部分是棋盘格)