如何将 simulink 块掩码中使用的图像绑定到所述块?

How to bind an image used in a mask of a simulink block to said block?

开篇澄清一下:

我做的子系统掩码内的图像 不是 表示绘制到块上的图像,而是可以添加到掩码的图像:

有没有办法将图像绑定到块?如果我想发布我的模型,我不想分享其中使用的每张图片。

对于绘制到块上的图像,我找到了一个解决方案 here,即将图像存储在块的 UserData 中,但我找不到更改内部使用的图像属性的选项一个面具。

引用我与 MathWorks 技术支持的通信:

Unfortunately, it is currently not possible to specify a mask dialog image without providing a file path and a separate image file. This has been brought to the attention of the development team as a possible enhancement for a future release.

这里指的是 Matlab / Simulink 9 (2016a)。

这可能有点太晚了,但我 'fixed' 遇到了同样的问题,方法是在 '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

希望对您有所帮助。