在开头澄清这一点:
如果图像位于子系统的遮罩内,我会 NOT 表示在块上绘制的图像,而是可以添加到遮罩的图像:
有没有办法将图像绑定到块?如果我想分发我的模型,我不想分享其中使用的每个图像。
对于绘制到块上的图像,我找到了一个解决方案here,即将图像存储在块的UserData中,但我找不到更改内部图像属性的选项面具。
答案 0 :(得分:1)
引用我与MathWorks技术支持部门的通信:
不幸的是,目前无法在不提供文件路径和单独的图像文件的情况下指定掩码对话框图像。这已经引起了开发团队的注意,可能会对未来版本进行改进。
这是指Matlab / Simulink 9(2016a)。
答案 1 :(得分:1)
这可能有点太晚了,但是通过在'UserData'
参数中包含图像及其alpha值,检查图像是否已经存在于当前文件夹中,我有“修复”它的相同问题,以及如果没有从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
希望这有帮助。