Mobile app version of vmapp.org
Login or Join
Ogunnowo857

: Inkscape: Exporting a checkerboard makes lines fuzzy I made a pretty simple checkerboard in inkscape. It is just many boxes that have an outline that is 1 px thick. They overlap by 1 pixels

@Ogunnowo857

Posted in: #Export #Inkscape #Png #Svg

I made a pretty simple checkerboard in inkscape. It is just many boxes that have an outline that is 1 px thick. They overlap by 1 pixels so all lines are one pixel thick and not two. I did this on a 256x256 canvas.

Now I want to export this thing. In the exporting options I chose 256x256 for bitmap size so that it is just a one to one copy of the inkscape file. However, when I export it, only some lines are crisp and black and only one pixels thick. Others are two pixels thick and are dark-grey.

I suppose this is some clever function of inkscape that makes things look nicer usually. But I don't want this, I really want my svg converted to a png one to one.

How can I achieve this?

Thank you for your answers,

Tony

10.01% popularity Vote Up Vote Down


Login to follow query

More posts by @Ogunnowo857

1 Comments

Sorted by latest first Latest Oldest Best

 

@Megan533

If you want a precise 256x256 pixel raster file containing a 1 pixel checkerboard pattern, you should definitely use a raster program (or program the exact output you want from a programing language).

For example, if you use GIMP (which, as Inkscape is Free both as in Beer and as in Speech), you can simply create a new 256x256 pixel image, and select the Filters->Render->Pattern->Checkerboard option to get your desired image, and file->export to get your output exactly as you want it.

(As an extra note, don't try to save such an image as a JPG file -
you'd be losing the pixel precision again. Use PNG or even GIF)

As for your question (I've described how to deal with your problem) -
it is the very nature of Vector images not having a "one to one" mapping
to pixel images. That is their idea: to allow a geometric description
of a scene, instead of having Pixels. With that, they do allow for
much more precise arbitrary scale images, using much less computing
resources (mainy memory usage). For example, a 3000x2000 pixel image
containing a single smooth red circle in it's center could consume
up to 18 Megabytes in an uncompressed form - that is roughly equivalent to the textual information contained in 5 full Bibles. (although most file formats use compression
that could drastically cut on that). In contrast, the same image described in a vector format which could have the very same look would use at most 1Kb - that is
18000 times less resource consuming - exactly because you don't need
to retain the information for each pixel.

In the case described you are trying instead to define one vector object for each pixel.
Not only you don't need Vector images re-scaling capabilities, as you are doing the exact opposite of what vector images where first thought for: since each pixel uses
3 bytes of information, and describing a square in a text-based vector format
lieke SVG will take about 40 bytes, you are consuming 10 times more resources than you should with this image, instead of sparing any. And moreover, as you found out, subject to rounding errors due to anti-aliasing.

10% popularity Vote Up Vote Down


Back to top | Use Dark Theme