覆盖matlab中的书面文本

时间:2013-04-08 06:08:11

标签: matlab matlab-figure

我有一个灰度网格,并使用下面的命令在其上打印文本,以黑色打印文本。

text (cPixel+25, rPixel+25, 'X', 'HorizontalAlignment', 'center', 'VerticalAlignment', 'middle', 'FontSize', 38);

现在,我想删除此文本,我试图通过使用下面显示的“颜色”属性将文本颜色更改为白色,但它以黑色打印。

text (cPixel+25, rPixel+25, 'X', 'HorizontalAlignment', 'center', 'VerticalAlignment', 'middle', 'FontSize', 38, 'Color', [1 1 1]);

如果您请告诉我使用哪种属性来制作灰度白色。我使用RGB值[1 1 1]的'color'属性,它也打印黑色文本,并尝试使用'color'属性,1为灰度值,但是,它给出了我应该使用的错误[RGB ]颜色值。

我的问题是如何使用matlab中的text()函数在灰度网格上设置灰度文本颜色。以上简要介绍了我所尝试的内容。谢谢你的耐心等待!

1 个答案:

答案 0 :(得分:0)

您的代码适合我。但也许你的问题是,你并没有真正改变现有文本对象的颜色,而是在旧文本对象之上创建一个新对象。

要实际删除旧对象,您需要保留句柄然后将其删除:

textHandle = text(cPixel+25, rPixel+25, 'X', 'HorizontalAlignment', 'center', 'VerticalAlignment', 'middle', 'FontSize', 38);
delete(textHandle)

如果你真的想要改变颜色,你也可以使用句柄来做到这一点:

set(textHandle,'Color',[0 0.5 1])