How to get Greek letters in text in an IMAGE using Inserttext?
7 次查看(过去 30 天)
显示 更早的评论
Hi I want to use text with Greek letter in an image (use text as part of the image) using "Inserttext" as suggested by Mathworks. But I cannot get Greek letters there, since Interpreter (latex) is not one of this function's properties. What can I do? This is the code I use (I have to use sprintf):
imgOut = insertText(imgOut, [10 100], sprintf(['a=' num2str(i,'%0.4f \alpha') ],i))
Note: I tried \alpha or \\alpha but it did not work either. Thank you.
Steven
0 个评论
采纳的回答
Walter Roberson
2016-6-14
You will need to render the character to a file or to an array, and then insert that array into the image.
Up to and including R2014a (but not later), you can work like this. Caution: this uses some magic smoke to do the job!
%use the decimal unicode character number, but only a subset is supported
%the use of HTML is documented magic... documented somewhere or other
%but you have to be aware it does not work for edit or text uicontrols
h = uicontrol('style', 'push', 'String', '<HTML>α');
%now shrink the size to just what is needed to contain the letter
%there is some slinky stuff about Extent working differently on different operating systems
%so you might need to fiddle a bit.
set(h, 'Position', get(h, 'Extent'));
%now use twice-magic incantations to render the uicontrol to an array
alpha_img = getPrintImage(handle(h));
Now you can store alpha_img as needed into the image you are building up.
If you do this for a number of different characters, you can re-use the same uicontrol and set its String differently. You should expect that the Extent will vary from character to character if you are using a proportional font.
0 个评论
更多回答(1 个)
Greg Dionne
2016-6-13
Not sure what version of MATLAB you have, but you can try unicode.
Does char(945) work for you?
sprintf('%s',char(945))
3 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Labels and Annotations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!