如何将 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
希望对您有所帮助。
开篇澄清一下:
我做的子系统掩码内的图像 不是 表示绘制到块上的图像,而是可以添加到掩码的图像:
有没有办法将图像绑定到块?如果我想发布我的模型,我不想分享其中使用的每张图片。
对于绘制到块上的图像,我找到了一个解决方案 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
希望对您有所帮助。