How to add an image with overlaid text using System Object method getIconImpl(obj)?
30 次查看(过去 30 天)
显示 更早的评论
Is it possible (or will it be in the future) to use the getIconImpl(obj) method in a system object classdef to place both an image and text on the simulink block icon?
It's possible to place an image:
icon = matlab.system.display.Icon('myicon.jpg');
It's possible to place text:
icon = 'My System';
However, I can't seem to place an image with overlaid text. Something similar to...
icon = {matlab.system.display.Icon('myicon.jpg'), ...
'My system'};
or something like...
icon = ['image(''logo1.png'');' ...
'disp(''My system'');'];
I know it is possible to use the mask editor to achieve the above functionality. However, I have been able to style the block mask and implement the controls all within the system object classdef file thus far. This is the only limiting action i have come across.
0 个评论
采纳的回答
dpb
2025-10-21
As you're aware, there's no indication of support the syntax you propose of more than one argument to matlab.system.display.Icon. In fact, the doc doesn't even imply the syntax
icon = 'My System';
wouldn't expect icon to be the name of a icon file, not a string to display; it indicates the argument type can be either a string or character vector variable, but doesn't imply there's a different behavior between passing the argument as the two different data types. That seems to be enhanced or unexpected behavior.
help matlab.system.display.Icon
I would suggest if you have a solid justification/use case, this could be submitted to Mathworks as an official enhancement request at <Product Support Page>
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Interactive Model Editing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!