【问题标题】:How to bind an image used in a mask of a simulink block to said block?如何将 simulink 块的掩码中使用的图像绑定到所述块?
【发布时间】:2017-01-13 06:40:50
【问题描述】:

在开头澄清这一点:

在子系统的掩码中使用图像我确实不是表示绘制到块上的图像,而是可以添加到掩码的图像:

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

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

【问题讨论】:

    标签: image simulink mask subsystem


    【解决方案1】:

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

    希望这会有所帮助。

    【讨论】:

    • 这似乎是一个不错的解决方法,直到它在未来的版本中出现。
    【解决方案2】:

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

    很遗憾,目前无法在不提供文件路径和单独的图像文件的情况下指定遮罩对话框图像。这已引起开发团队的注意,作为未来版本的可能增强功能。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-15
      • 1970-01-01
      • 2013-05-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多