Как привязать изображение, используемое в маске блока simulink, к указанному блоку?
Чтобы уточнить это в начале:
С изображением внутри маски подсистемы я НЕ имею в виду изображение, нарисованное на блок, а скорее изображение, которое можно добавить к маске:
Есть ли способ привязать изображение к блоку? В случае, если я хочу распространять свою модель, я не хочу делиться каждым изображением, используемым в ней.
Для изображения, нарисованного на блоке, я нашел здесь решение, которое хранит изображение внутри UserData блока, но я не могу найти вариант, чтобы изменить свойства изображений, используемых внутри маски.
2 ответа
Это может быть слишком поздно, но у меня возникла та же проблема, я "исправил" ее, включив изображение и его альфа-значения в 'UserData'
параметр, проверяющий, существует ли изображение в текущей папке, и если он не создается из пользовательских данных:
if ~exist('ARMicon.png','file')
maskParams = Simulink.Mask.get(gcb);
armim = maskParams.getDialogControl('armPic');
ud = get_param(gcb,'UserData');
imwrite(ud.ARM,'ARMicon.png','Alpha',ud.alpha);
armim.FilePath = 'ARMicon.png';
end
Надеюсь это поможет.
Цитирую мою переписку со службой технической поддержки MathWorks:
К сожалению, в настоящее время невозможно указать изображение диалога маски без указания пути к файлу и отдельного файла изображения. Это было доведено до сведения команды разработчиков в качестве возможного улучшения для будущего выпуска.
Это относится к Matlab / Simulink 9 (2016a).