Control the color of characters' inside separately from their contour (text function)

17 Ansichten (letzte 30 Tage)
When using the `text` function, by changing the colour of the font one only changes the face (inside) colour. Is there a way to also control the colour of the edge (contour) of the letter? I found no information about this in the Matlab (2016) documentation or on forums.

Akzeptierte Antwort

Adam Danz
Adam Danz am 29 Aug. 2020
Bearbeitet: Adam Danz am 29 Aug. 2020
No, there is no text-edge property.
You can change the background color ('BackgroundColor') of the rectangle that frames the text object and the text color ('Color') but the text does not have a separate edge property.
You might be able to find a font that has a black border and white interior or something like that (example).
You can kind of get a text-edge effect by plotting the same exact text twice and....
  • use bold font weight with the first and normal font weight with the second
  • use a fixed-width font to preserve the letter spacing
  • use identical font size, text position, and text alignment
but that's the closest you can get without converting text to patch objects or using some other non-text function.
clf()
arch = ['Stand away, fellow,',newline,'from my diagram!'];
text(.2, .5, arch, 'Color', 'b', 'FontName', 'Consolas', 'FontSize', 18, 'FontWeight', 'bold');
text(.2, .5, arch, 'Color', 'r', 'FontName', 'Consolas', 'FontSize', 18);

Weitere Antworten (0)

Kategorien

Mehr zu Graphics Object Properties finden Sie in Help Center und File Exchange

Produkte


Version

R2016b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by