Macos 使用Matlab和其他程序在Mac上导出PNG时出现白线
当我在Matlab中导出图形并使用例如Macos 使用Matlab和其他程序在Mac上导出PNG时出现白线,macos,matlab,export,png,Macos,Matlab,Export,Png,当我在Matlab中导出图形并使用例如export\u fig test.png-m3.0提高分辨率或放大图像时,保存的图像上有一条大白线 未经放大的图像: 使用-m3.0的图像: 使用的代码是 %% test figure('position', [100, 100, 350, 350]); surf(peaks(10)) colormap(jet) caxis([-5,10]) view(0,90) export_fig png_test.png -transparent -m3.0;
export\u fig test.png-m3.0
提高分辨率或放大图像时,保存的图像上有一条大白线
未经放大的图像:
使用-m3.0的图像:
使用的代码是
%% test
figure('position', [100, 100, 350, 350]);
surf(peaks(10))
colormap(jet)
caxis([-5,10])
view(0,90)
export_fig png_test.png -transparent -m3.0;
%export_fig png_test.png -transparent -m1.0; % this works, but not high
% enough resolution
我的Mac上运行OS X Yosemite 10.10.5的其他程序也有这个问题,但目前似乎无法重现
我已经尝试使用Resolution标签,例如导出图的-r300
,但它做的是相同的事情
我还认为(可能是错的)实际保存图像的程序是opengl,也许这有问题
如有任何建议,将不胜感激。谢谢。我推荐如下:
set(gcf, 'InvertHardCopy', 'off'); % keep figure from changing properties
saveas(gcf, [path,filesep,fName], 'png')
hToolbar = findall(gcf,'tag','FigureToolBar');
t = findall(hToolbar);
saveFile = findobj(t,'Tag', 'Standard.SaveFigure');
set(saveFile,'ClickedCallback',@saveFigFcn)
function saveFigFcn(~,~)
[fName, path, filterindex] = uiputfile({'*.png'},'Save as');
if filterindex
set(gcf, 'InvertHardCopy', 'off');
saveas(gcf, [path,filesep,fName], 'png')
end
end
如果希望能够使用工具栏中的常规“保存图形”工具以交互方式执行此操作,请使用以下工具:
set(gcf, 'InvertHardCopy', 'off'); % keep figure from changing properties
saveas(gcf, [path,filesep,fName], 'png')
hToolbar = findall(gcf,'tag','FigureToolBar');
t = findall(hToolbar);
saveFile = findobj(t,'Tag', 'Standard.SaveFigure');
set(saveFile,'ClickedCallback',@saveFigFcn)
function saveFigFcn(~,~)
[fName, path, filterindex] = uiputfile({'*.png'},'Save as');
if filterindex
set(gcf, 'InvertHardCopy', 'off');
saveas(gcf, [path,filesep,fName], 'png')
end
end