使用export_fig()在图像中具有透明度

时间:2013-08-29 09:24:04

标签: matlab matlab-figure

我正在使用export_fig()函数(可用here)来生成MATLAB中生成的数字的光栅图形。

使用参数'-zbuffer',我能够使用image()命令生成包含放置在图上的图像的图形图形。但是,图像中的任何透明度都会丢失,并被黑色取代。我制作的数字由多个图像元素组成,这些图像元素相互叠加,每个image()的透明度都可以使用,因此可以在下面看到其他图像元素。

有人知道如何将export_fig()与包含透明度的image()一起使用吗?

n.b。 '-transparent'参数无法实现此目的。

2 个答案:

答案 0 :(得分:0)

如果您阅读properties of different renderers上的MATLAB注释,您会发现OpenGL是唯一支持透明补丁对象的渲染器。因此,您需要使用-opengl选项,而不是-zbuffer选项。

答案 1 :(得分:0)

使用-opengl渲染器。

示例: export_fig(。,' - opengl')

我看了看这个功能。并且该函数的注释部分具有以下描述:

“渲染器(opengl,zbuffer或画家)的选择产生很大影响  关于产出的质量。虽然是默认值(位图的opengl,  如果不是,那么矢量格式的画家通常会给出好的结果  满意然后尝试另一个渲染器。

注意:

1)对于矢量格式(eps,pdf),只有画家会生成矢量图形。

2)对于位图,只有opengl可以正确渲染透明的补丁对象。

3)对于位图,只有画家在放大或消除锯齿时才能正确缩放线条划线和点长度。

4)使用画家时字体可以用Courier替代。“

希望它有所帮助。