How to add an image with overlaid text using System Object method getIconImpl(obj)?
8 次查看(过去 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!