Determine the (pixel) width of a string
조회 수: 21 (최근 30일)
이전 댓글 표시
Hi,
I want to scale some ui elements according to the width of a string. E.g. the string 'abcdef' has 6 letters, but is obviously much wider than the string 'iiiiii', which also uses 6 letters.
Is there a good way to calculate the pixel width of a string?
(if Fontsize and Font are known)
댓글 수: 0
채택된 답변
Benjamin Kraus
2022년 2월 3일
편집: Benjamin Kraus
2022년 2월 3일
The only way I know of to do that in MATLAB is using the Extent property on text objects. The third element is the width, the fourth element is the height.
t1 = text(0.5,0.3,'abcdef','FontName','Times','FontSize',10);
t2 = text(0.5,0.5,'iiiiii','FontName','Times','FontSize',10);
t1.Units = 'pixels';
t1.Extent
t2.Units = 'pixels';
t2.Extent
댓글 수: 5
Benjamin Kraus
2022년 2월 4일
The answer should be pretty close across different machines, but I'm not sure if you will get the exact same value across different computers. My guess is that the answer may depend very slightly on the operating system and perhaps the pixel density of the screen, but I could be wrong about that.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Characters and Strings에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!