Matlab 使用画师和HG2进行渲染,打印后打印出黑色背景
如果我在MATLAB中打印一个图形,绘图的背景将呈现为黑色而不是白色,如下所示: (但在MATLAB的图形窗口中,它是白色的,正如它应该的那样)Matlab 使用画师和HG2进行渲染,打印后打印出黑色背景,matlab,matlab-hg2,Matlab,Matlab Hg2,如果我在MATLAB中打印一个图形,绘图的背景将呈现为黑色而不是白色,如下所示: (但在MATLAB的图形窗口中,它是白色的,正如它应该的那样) 这是与用于打印图形的代码类似的代码(但将运行复制粘贴): 但是,如果我添加以下行,它会起作用(当然,在绘图周围的区域会有轻微的灰色背景) 我的MATLAB版本是R2013a(8.1.0.604) 编辑: 设置(gcf,“硬拷贝”、“关闭”)无法解决此问题 edit2: 问题可能是由HG2更新引起的。复制粘贴代码实际上在我的版本(R2013a)上运行良
这是与用于打印图形的代码类似的代码(但将运行复制粘贴): 但是,如果我添加以下行,它会起作用(当然,在绘图周围的区域会有轻微的灰色背景) 我的MATLAB版本是R2013a(8.1.0.604) 编辑:
设置(gcf,“硬拷贝”、“关闭”)代码>无法解决此问题
edit2:
问题可能是由HG2更新引起的。复制粘贴代码实际上在我的版本(R2013a)上运行良好,但为了确保打印后背景颜色保持原样,请使用以下方法:
set(gcf, 'InvertHardCopy', 'off');
您可以在matlab文档中的“设置背景色”下查看该示例
因此,要为绘图获得不同的背景色,请使用:
set(gcf, 'color', 'blue');
set(gcf, 'InvertHardCopy', 'off');
print(gcf,'test1.pdf','-dpdf')
为了美观,我也在使用HG2更新。我没有选择返回HG1。好吧,我没有任何问题,除了一个:直接打印到.pdf。这也是你想要做的。这个功能仍然是完全搞砸了
解决方案:使用-dsvg
将绘图保存为矢量图形,在Inkscape中打开文件,然后使用导出区域为绘图复选标记集再次保存为pdf
我实际上希望找到一种方法来编写这个过程,但没有成功。因此,您必须手动执行此操作,或者等待HG2的最终版本。尝试反转硬拷贝
(尚未测试)我忘了提到,我已经尝试了反转硬拷贝
。奇怪的是,它对您有效,所以这可能是OSX问题(您使用的是什么操作系统?)或与我的安装相关的其他问题。奇怪——我使用的是Windows 7。@rob可能尝试MATLAB FEX中的export_fig
函数,看看是否有效export\u fig
不起作用,但出现了一个有趣的错误:使用hg2.Group/get时出错。我发现HG2已启用(尚未得到官方支持)。回到HG1解决了meSounds的问题,就像一个可接受的解决方法。顺便说一下,export\u fig
旨在支持HG2。不幸的是,在这个人物身上有传奇正在打破它。我在这里发布了一个问题:修复此问题将使解决方案变得不必要。@rob因为我将是该功能的开发人员,所以我会等到HG2的最终版本。在那之前,没有人知道他们会改变什么。自己编写一个类似的函数很容易,但是可以完全控制一切。如前所述,矢量图形导出问题需要解决。如果您能够找到一个脚本程序,将图形保存为HG2的pdf格式,请让我知道:)@rob查看我的!
set(gcf, 'InvertHardCopy', 'off');
set(gcf, 'color', 'blue');
set(gcf, 'InvertHardCopy', 'off');
print(gcf,'test1.pdf','-dpdf')