How to add an image with overlaid text using System Object method getIconImpl(obj)?
18 views (last 30 days)
Show older comments
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 Comments
Accepted Answer
dpb
on 21 Oct 2025 at 19:50
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>
More Answers (0)
See Also
Categories
Find more on Interactive Model Editing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!