Why do EPS (vector) file formats require a specified resolution?


Question

SVG is also a vector graphics file format but I've never been requested for resolution choice when using Matlab or Inkscape. EPS however has these options. Why? If both are vector graphics formats, neither should need it, correct?

Edit: Here is the request from inkscape for saving .eps files under resolution for rasterization (dpi)

enter image description here

But I don't want to rasterize my image. I want it to stay as a vector graphic.

Similarly as I mentioned in the comments, I can save .eps files in matlab using print -depsc2 -r300 filename where -r300 is the dpi resolution. Why do I need this argument?

Thank you.

1
4
11/4/2014 4:57:00 PM

Accepted Answer

The key word here is rasterization.

EPS is customarily a flat file format. Flat File meaning objects are either 100% opaque or 100% transparent -- there's no in between. This means if you use raster effects such as soft shadows, feathering, glows, etc. the only way to maintain that appearance is via raster images.

All printers only print raster data. When you print vector art it has to pass through a Raster Image Processor (RIP). When the RIP sees art with the shadows and glows, it queries the print driver and asks for the resolution of the printer then the RIP rasterizes these effects at that resolution.

If you are not printing and only saving vector art with these shadows and glows, the application needs to know at what resolution you want rasterization to occur. It can't guess because it's a dumb machine which only does what its told. Most vector applications do the rasterization "on-the-fly" when saving to a flat file format such as EPS. So the app is giving you the opportunity to tell it what you want rather than just defaulting to some predetermined setting.

This is why you are asked for a resolution when saving to EPS.

Make no mistake, if you are using soft-edges effects like glows and shadows you are generating raster elements when saving to the EPS format. Any time anything needs to be "flattened" there is the possibility of introducing embedded raster images into a flat file format. So, transparency settings, gradients, blending modes, shadows, glows, etc may all utilize the resolution setting.

If you are not using such soft-edge objects, then the resolution is just there for times when it is needed. It will have no effect on actual hard-edged vector art without glows and shadows, etc. when saving. Vector data is saved as vector data, it's only when you've introduced the objects which need flattening that the resolution option is needed.

7
11/4/2014 6:29:00 PM

There are a few reasons, @Scott covers most of them. Theres another reason too. It typically has its own setting somewhere hidden from most users. Its is also typically a DPI value.

When, the eps is drawn by the RIP it does not draw curves instead each curve is converted to straight segments. Usually the default is ok, but sometimes its not so there needs to be a way to control the needed segment size. This setting customarily is also a dpi setting.


Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow


Website under construction!!!
^