SVG v1.0 Export Option

What features would you like to see in Pixelmator Pro?
User avatar

2021-01-14 18:22:13

Currently Pixelmator Pro ONLY exports to SVG v1.1. Please add support for SVG v1.0 so other apps that only support v1.0 can load the SVG files.

Thank you!
User avatar

2021-01-15 13:33:24

Hey there Chris. To be fair, SVG v2.0 support is more likely something we'll be focusing on in the future, but I found that there's a way to manually tweak the SVG file to use v1.0. If you open the SVG in TextEdit, you'll notice something similar to the following:

<?xml version="1.0" encoding="UTF-8"?>
<svg width="1000px" height="1000px" viewBox="0 0 1000 1000" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">

In theory, changing version="1.1" to version="1.0" and resaving the file should work. Let me know how it goes if you try it!
User avatar

2021-01-15 15:36:37

by Aurelija 2021-01-15 18:33:24 Hey there Chris. To be fair, SVG v2.0 support is more likely something we'll be focusing on in the future, but I found that there's a way to manually tweak the SVG file to use v1.0. If you open the SVG in TextEdit, you'll notice something similar to the following:

<?xml version="1.0" encoding="UTF-8"?>
<;svg width="1000px" height="1000px" viewBox="0 0 1000 1000" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">

In theory, changing version="1.1" to version="1.0" and resaving the file should work. Let me know how it goes if you try it!
That was the first thing I tried. The other program (TinkerCad) does not want to load it. Try it, export an image as SVG and open/import it into TinkerCad.com (Free).
User avatar

2021-01-15 15:44:47

I figured it out. Pixelmator Pro embeds the image in the SVG instead of using path commands. Inkscape and Illustrator both use path commands so those SVG are working, but since you're just embedding an image they do not work.

I'm now asking my feature request to be that SVG supporting path commands

Please add <path> support instead of <image> support for SVG.

Thank you!
User avatar

2021-01-15 16:17:54

Pixelmator Pro actually supports <path> too, it's just that if you have raster (image) data in a document and export it to SVG, we leave it in there because the SVG format technically supports it, too.

Really, what we should do is probably warn you when you try to export an image with raster data to SVG and give you an option to remove those layers from the exported version, but for now, I'd say – take a look at all your layers and see which ones are image layers, then remove them and try exporting to SVG again. Everything should work. 🤞
User avatar

2021-01-15 16:25:36

by Andrius 2021-01-15 00:00:00 Pixelmator Pro actually supports &lt;path&gt; too, it's just that if you have raster (image) data in a document and export it to SVG, we leave it in there because the SVG format technically supports it, too.

Really, what we should do is probably warn you when you try to export an image with raster data to SVG and give you an option to remove those layers from the exported version, but for now, I'd say – take a look at all your layers and see which ones are image layers, then remove them and try exporting to SVG again. Everything should work. 🤞
My image typically only has 1 layer. I'm importing any JPG (pick one of your choice), cleaning it up (removing background, selecting objects out, etc), and then exporting it.

I've never set anything raster or even have that option on the Format menu (grayed out).

I'm hoping you're on to something though
User avatar

2021-01-15 16:33:09

by Chris Hilbert 2021-01-14 21:00:00
My image typically only has 1 layer. I'm importing any JPG (pick one of your choice), cleaning it up (removing background, selecting objects out, etc), and then exporting it.

I've never set anything raster or even have that option on the Format menu (grayed out).

I'm hoping you're on to something though
A JPEG is a raster image.

Text and shape layers are vectors. Image layers like JPEGs and PNGs are images and this kind of image data is also referred to as raster, bitmap, or pixel data. The terminology can be a little confusing because an SVG image is also an image, these other terms (raster/bitmap) are simply used to differentiate vector images from pixel-based images.

I haven't used Inkscape, but are you saying you also import JPEGs into it, follow the same steps as in Pixelmator Pro, and export an SVG that contains only <path> (i.e. vector) data?
User avatar

2021-01-15 16:35:01

by Andrius 2021-01-15 00:00:00
A JPEG is a raster image.

Text and shape layers are vectors. Image layers like JPEGs and PNGs are images and this kind of image data is also referred to as raster, bitmap, or pixel data. The terminology can be a little confusing because an SVG image is also an image, these other terms (raster/bitmap) are simply used to differentiate vector images from pixel-based images.

I haven't used Inkscape, but are you saying you also import JPEGs into it, follow the same steps as in Pixelmator Pro, and export an SVG that contains only <path> (i.e. vector) data?
That's what I read, I could be wrong since I've never used them either.

So if I convert the layer to a shape I'll get path?
User avatar

2021-01-15 16:46:04

by Chris Hilbert 2021-01-15 13:39:57
That's what I read, I could be wrong since I've never used them either.
To be honest, that sounds improbable, if not impossible because they're fundamentally different kinds of data.
by Chris Hilbert 2021-01-15 13:39:57 So if I convert the layer to a shape I'll get path?
Yes, but again, because they're fundamentally different kinds of layers, you can't just directly convert one to the other. Vector images are basically lines, shapes, gradients, text, etc. A JPEG, even if it contains simple images of shapes, is basically a photo. If your image is an icon or a logo, there will usually be quite simple ways to create a vector from them. If you're working on a photo and want to export it to SVG – that's impossible in any app. You can create a stylized illustration from a photo, sure, but photographic data (pixels) cannot be represented using vectors.