2017-01-13 11 views
0

Pour clarifier cela au début:Comment lier une image utilisée dans un masque d'un bloc simulink audit bloc?

Avec l'image à l'intérieur du masque de sous-système ne pas signifie une image dessinée sur le bloc, mais plutôt une image que l'on peut ajouter au masque: clarification

Est il y a un moyen de lier l'image au bloc? Dans le cas où je veux distribuer mon modèle, je ne veux pas avoir à partager toutes les images qui y sont utilisées. Pour une image dessinée sur le bloc j'ai trouvé une solution here, qui stocke l'image dans les UserData du bloc, mais je ne trouve pas une option pour changer les propriétés des images utilisées dans un masque.

Répondre

1

Ceci peut être un peu trop tard, mais ayant le même problème, je l'ai "corrigé" en incluant l'image et ses valeurs alpha dans le paramètre 'UserData', en vérifiant si l'image existe déjà dans le dossier courant depuis le 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 

See the result

Hope this helps.

+0

Cela semble une bonne solution de contournement jusqu'à ce qu'il soit présenté dans les futures versions. –

1

Citation de ma correspondance avec le support technique MathWorks:

Malheureusement, il est actuellement impossible de spécifier une image de dialogue de masque sans fournir un chemin de fichier et un fichier d'image séparé. Cela a été porté à l'attention de l'équipe de développement comme une amélioration possible pour une future version.

Ceci fait référence à Matlab/Simulink 9 (2016a).