Macos 使用Matlab和其他程序在Mac上导出PNG时出现白线

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;

当我在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_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