MATLAB Answers

Simulink Mask Support for SVG images - doesn't work fully

15 views (last 30 days)
Aditya
Aditya on 27 Jan 2017
Commented: Saurabh Gupta on 10 Feb 2017
I have seen the use of svg (scalable vector graphics) images in new Simulink blocks (for e.g. the Hydraulics fluid block in Simscape Fluids).
In 2013a release notes for Simulink, it states that svg support has been added to Simulink masks using the "image" command.
So in 2016b, I started with the svg file for the Hydraulics Fluid block and then opened it up in Inkscape (open source svg editor) and edited it and then saved it again. Now the mask display is not working properly. The preview appears correctly in the mask editor but not in the actual Simulink canvas.
I noticed in 2016b documentation on the "Draw Mask Icon" page that: "Images in formats .cur, .hdf4, .ico, .pcx, .ras, .xwd, .svg (full version) cannot be used as block mask images. However, you can use images in these formats if you wrap the file name in the imread() function and use the RGB triplet. Using the imread() function is not efficient. However, it is still supported for backward compatibility."
I am unable to use imread with the svg file either. Is there some kind of limitation with svg support, especially those generated from external tools (like Inkscape)?
Thanks.

  0 Comments

Sign in to comment.

Accepted Answer

Saurabh Gupta
Saurabh Gupta on 30 Jan 2017
Hi Aditya,
I was able to reproduce the issues you mentioned with both 'image' and 'imread' functions using SVG image files. I have forwarded the details to the concerned development team at MathWorks. Please feel free to contact MathWorks Technical Support if you need further assistance or information regarding this.
Thanks!

  2 Comments

Aditya
Aditya on 7 Feb 2017
Hello Saurabh, Thanks for the prompt response - I did not get an email notification and so it took me some time before I remembered to check this page.
Do you have any recommendation for a workaround on how best to modify svg images? In my case, I want to make a small modification to an existing svg image and just add some text to customize it.
If necessary, I can create a support ticket for this.
Thanks, Aditya
Saurabh Gupta
Saurabh Gupta on 10 Feb 2017
I would recommend not using SVG file for drawing mask icon, but as a (trivial) workaround, you can convert the updated SVG image to JPEG or PNG format and use the resultant file to draw the mask.
If it doesn't work for some reason, it may be best to contact MathWorks Technical Support to work out a specific workaround for your case.
Best, Saurabh

Sign in to comment.

More Answers (0)