Determine size of text objects

29 Ansichten (letzte 30 Tage)
Yaqub
Yaqub am 11 Dez. 2012
I'd like to be able to determine the size of a text object, in pixels. I want to be able to do this in order to create long xlabels for a figure, and rotate them, and finally adjust the axes base in order that the text does not disappear along the bottom of the figure.

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 11 Dez. 2012
Bearbeitet: Walter Roberson am 11 Dez. 2012
Create a uicontrol('Style', 'text') with FontName and FontSize as appropriate. The Position of the control does not matter, and you can create it with visibility turned off. Make sure the Units property is set to pixels.
Now, set the control's String property to the text you want. Then, get() the Extent property of the control. The returned height and width are the height and width that would be required to render just that String by itself. This will be the case even if the Position of the control was too small (or too wide) for the string: Extent will tell you the size you actually need for it.
You can of course re-use the same uicontrol to size different strings, by setting the String property and reading out the Extent afterwards.
Delete the unneeded uicontrol after you have sized everything.
  1 Kommentar
Yaqub
Yaqub am 11 Dez. 2012
Extent property was what I was after ... Thank you.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

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

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by