Как привязать изображение, используемое в маске блока 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).

Другие вопросы по тегам