如何在Matlab中为文本添加轮廓?

时间:2014-05-19 01:08:01

标签: string image matlab annotations transparency

我已向textbox添加了annotation image,但如果我不使用背景,则很难阅读该文字。如果我使用背景,我会模糊图像。我已经研究了一种不太优雅的解决方案:

  • 为注释背景添加透明度。这不是内置的,需要kluge

我想尝试的一种可能的替代方法是在文本中添加大纲。有谁知道怎么做?

修改

我应该更具体地说明我的意思"为文本添加大纲"。我的意思是Microsoft Word对大纲的定义。

Image of a text outline.

2 个答案:

答案 0 :(得分:0)

根据您的编辑,您不仅需要文本框。我不确定如何修复文本,但根据我的问题here的答案,您可以设置框透明度。

plot(sin(rand(10)))
a = annotation('textbox', [0.5 0.5 0.1 0.1], 'String', 'Some Random Text');
b = annotation('textbox', get(a,'Position'));
set(b, 'BackgroundColor', [0 0.5 0]);
set(b, 'FaceAlpha', 0.5);
uistack(a,'top')

以下是一个例子:

enter image description here

答案 1 :(得分:0)

对于未来的读者,MATLAB文件交换上的textborder函数尝试解决此问题。 http://au.mathworks.com/matlabcentral/fileexchange/27383-textborder-higher-contrast-text-using-a-1-pixel-thick-border