aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjaseg <git@jaseg.de>2021-02-06 15:51:37 +0100
committerjaseg <git@jaseg.de>2021-02-06 15:51:37 +0100
commit3f9cdce1cb5aa3b665cfa83cd43cc490f3d97bba (patch)
treee7c1bf46d4481532d4e5051e730b2cde8509e9f2
parent50cc3ce27c8029627486960b11afa6f34150fc38 (diff)
downloadgerbolyze-3f9cdce1cb5aa3b665cfa83cd43cc490f3d97bba.tar.gz
gerbolyze-3f9cdce1cb5aa3b665cfa83cd43cc490f3d97bba.tar.bz2
gerbolyze-3f9cdce1cb5aa3b665cfa83cd43cc490f3d97bba.zip
Update README w/ subtraction script example
-rw-r--r--README.rst39
-rw-r--r--pics/subtract_example.pngbin0 -> 207506 bytes
2 files changed, 22 insertions, 17 deletions
diff --git a/README.rst b/README.rst
index 0324166..0e467b9 100644
--- a/README.rst
+++ b/README.rst
@@ -305,6 +305,8 @@ Options:
Subtraction scripts
*******************
+.. image:: pics/subtract_example.png
+
Subtraction scripts tell ``gerbolyze paste`` which layers to remove from other layers. When a source layer is given in
the subtraction script, gerbolyze will dilate everything on this source layer and remove it from the target layer. By
default, Gerbolyze subtracts the mask layer from the silk layer to make sure there are no silk primitives that overlap
@@ -330,6 +332,9 @@ The default subtraction script is:
.. code-block::
out.silk -= in.mask
+ out.silk -= in.silk+0.5
+ out.mask -= in.mask+0.5
+ out.copper -= in.copper+0.5
``gerbolyze vectorize``
~~~~~~~~~~~~~~~~~~~~~~~
@@ -486,7 +491,7 @@ gerbolyze using ``--vectorizer binary-contours``.
board, which is about the smallest detail most manufacturers can resolve on the silkscreen layer. You can control this
setting using the ``--fab-resolution`` and ``--oversampling`` options. Refer to ``gerbolyze --help`` for details.
-.. image:: https://raw.githubusercontent.com/jaseg/gerbolyze/master/screenshots/01import01.png
+.. image:: screenshots/01import01.png
2 Import your desired artwork
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -495,28 +500,28 @@ Though anime or manga pictures are highly recommended, you can use any image inc
a picture with comparatively low detail that remains recognizable at very low resolution. While working on a screen this
is hard to vizualize, but the grain resulting from the low resolution of a PCB's silkscreen is quite coarse.
-.. image:: https://raw.githubusercontent.com/jaseg/gerbolyze/master/screenshots/02import02.png
+.. image:: screenshots/02import02.png
3 Paste the artwork onto the render as a new layer
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-.. image:: https://raw.githubusercontent.com/jaseg/gerbolyze/master/screenshots/03paste.png
+.. image:: screenshots/03paste.png
4 Scale, rotate and position the artwork to the desired size
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-.. image:: https://raw.githubusercontent.com/jaseg/gerbolyze/master/screenshots/04scale_cut.png
+.. image:: screenshots/04scale_cut.png
For alignment it may help to set the artwork layer's mode in the layers dialog to ``overlay``, which makes the PCB
render layer below shine through more. If you can't set the layer's mode, make sure you have actually made a new layer
from the floating selection you get when pasting one image into another in the GIMP.
-.. image:: https://raw.githubusercontent.com/jaseg/gerbolyze/master/screenshots/05position.png
+.. image:: screenshots/05position.png
5 Convert the image to grayscale
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-.. image:: https://raw.githubusercontent.com/jaseg/gerbolyze/master/screenshots/06grayscale.png
+.. image:: screenshots/06grayscale.png
6 Fine-tune the image's contrast
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -529,7 +534,7 @@ dots that might be beyond your PCB manufacturer's maximum resolution. To control
of the grayscale value curve as shown (exaggerated) in the picture below. These steps saturate very bright grays to
white and very dark grays to black while preserving the values in the middle.
-.. image:: https://raw.githubusercontent.com/jaseg/gerbolyze/master/screenshots/08curve_cut.png
+.. image:: screenshots/08curve_cut.png
7 Retouch details
~~~~~~~~~~~~~~~~~
@@ -542,12 +547,12 @@ If you don't want the image's background to show up on the final PCB at all, jus
Particularly on low-resolution source images it may make sense to apply a blur with a radius similar to the following
newsprint filter's cell size (10px) to smooth out the dot pattern generated by the newsprint filter.
-.. image:: https://raw.githubusercontent.com/jaseg/gerbolyze/master/screenshots/09retouch.png
+.. image:: screenshots/09retouch.png
In the following example, I retouched the highlights in the hair of the character in the picture to make them completely
white instead of light-gray, so they still stand out nicely in the finished picture.
-.. image:: https://raw.githubusercontent.com/jaseg/gerbolyze/master/screenshots/10retouched.png
+.. image:: screenshots/10retouched.png
8 Run the newsprint filter
~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -560,15 +565,15 @@ with ``gerbolyze render`` default settings for good-quality silkscreen). In gene
The second important setting is oversampling, which should be set to four or slightly higher. This improves the result
of the edge reconstruction of ``gerbolyze vectorize``.
-.. image:: https://raw.githubusercontent.com/jaseg/gerbolyze/master/screenshots/11newsprint.png
+.. image:: screenshots/11newsprint.png
The following are examples on the detail resulting from the newsprint filter.
-.. image:: https://raw.githubusercontent.com/jaseg/gerbolyze/master/screenshots/12newsprint.png
+.. image:: screenshots/12newsprint.png
-.. image:: https://raw.githubusercontent.com/jaseg/gerbolyze/master/screenshots/13newsprint.png
+.. image:: screenshots/13newsprint.png
-.. image:: https://raw.githubusercontent.com/jaseg/gerbolyze/master/screenshots/14newsprint.png
+.. image:: screenshots/14newsprint.png
9 Export the image for use with ``gerbolyze vectorize``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -576,16 +581,16 @@ The following are examples on the detail resulting from the newsprint filter.
Simply export the image as a PNG file. Below are some pictures of the output ``gerbolyze vectorize`` produced for this
example.
-.. image:: https://raw.githubusercontent.com/jaseg/gerbolyze/master/screenshots/14result_cut.png
+.. image:: screenshots/14result_cut.png
-.. image:: https://raw.githubusercontent.com/jaseg/gerbolyze/master/screenshots/15result_cut.png
+.. image:: screenshots/15result_cut.png
-.. image:: https://raw.githubusercontent.com/jaseg/gerbolyze/master/screenshots/16result_cut.png
+.. image:: screenshots/16result_cut.png
Gallery
-------
-.. image:: https://raw.githubusercontent.com/jaseg/gerbolyze/master/sample3.jpg
+.. image:: pics/sample3.jpg
Limitations
-----------
diff --git a/pics/subtract_example.png b/pics/subtract_example.png
new file mode 100644
index 0000000..13305af
--- /dev/null
+++ b/pics/subtract_example.png
Binary files differ