MATLAB Answers

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

13 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.

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
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)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by