在开始时澄清这一点:
使用子系统掩码内的图像,我并不是指绘制到块上的图像,而是可以添加到掩码的图像:
有没有办法将图像绑定到块?如果我想分发我的模型,我不想共享其中使用的每个图像。
对于绘制到块上的图像,我在这里找到了一个解决方案,即将图像存储在块的 UserData 中,但我找不到更改掩码内使用的图像属性的选项。
这可能有点太晚了,但是有同样的问题,我通过在'UserData'
参数中包含图像及其 alpha 值来“修复”它,检查图像是否已经存在于当前文件夹中,如果不是从用户数据创建它:
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)。