inkscape.isoCoucheGreyScale/gray_iso_layers.inx
2026-10-01 19:12:46 +02:00

98 lines
6.8 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!--
Textes source en anglais, traduits par le catalogue « grayisolayers »
(locale/<langue>/LC_MESSAGES/grayisolayers.mo). Après toute modification
d'un texte : python i18n.py, puis compléter po/fr.po et relancer.
-->
<inkscape-extension translationdomain="grayisolayers"
xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<name>Gray Iso-Layers</name>
<id>fr.alexp.grayisolayers</id>
<param name="tab" type="notebook">
<page name="levels" gui-text="Levels">
<param name="levels" type="int" min="2" max="64"
gui-text="Number of gray levels:">16</param>
<param name="shapes" type="optiongroup" appearance="combo"
gui-text="Content of each board:">
<option value="light">Stacked, lightest in front (board no. 1 = darkest, whole image)</option>
<option value="dark">Stacked, darkest in front (board no. 1 = lightest, whole image)</option>
<option value="band">Its own gray only (boards side by side, no overlap)</option>
</param>
<param name="mark" type="bool"
gui-text="Mark on each board the outline of the next one (stacked boards)"
gui-description="Assembly guide: the outline of the board to glue on top is drawn in the marking color, without being cut.">true</param>
<param name="blur" type="float" precision="2" min="0" max="20"
gui-text="Smoothing (% of the image's longer side):"
gui-description="Smoothing applied before cutting the levels: the higher it is, the rounder and simpler the outlines.">1.0</param>
<param name="edges" type="bool"
gui-text="Preserve edges while smoothing (portraits, photos)"
gui-description="Flattens skin and textures but keeps sharp transitions (eyes, mouth, outline of a face). Uncheck for a plain blur, better suited to abstract reliefs.">true</param>
<param name="resolution" type="int" min="50" max="2000"
gui-text="Calculation resolution (points on the longer side):"
gui-description="The image is resampled to this size before the calculation. Higher is more accurate but slower.">800</param>
<param name="min_area" type="float" precision="3" min="0" max="10"
gui-text="Smallest island or hole kept (% of the image area):">0.02</param>
<param name="simplify" type="float" precision="2" min="0" max="5"
gui-text="Simplification (calculation points):"
gui-description="Largest deviation allowed when removing nodes. 0 keeps every node.">0.4</param>
<param name="smooth" type="bool"
gui-text="Smooth the outlines with Bézier curves">true</param>
</page>
<page name="style" gui-text="Style">
<param name="fill_mode" type="optiongroup" appearance="combo" gui-text="Fill:">
<option value="gray">Gray of each level</option>
<option value="color">Single color (below)</option>
<option value="none">No fill (outlines only)</option>
</param>
<param name="fill_color" type="color" appearance="colorbutton"
gui-text="Fill color:">4294967295</param>
<param name="stroke_width" type="float" precision="3" min="0" max="100"
gui-text="Stroke width (0 = no stroke):">0.2</param>
<param name="unit" type="optiongroup" appearance="combo" gui-text="Unit:">
<!-- Les unités ne se traduisent pas -->
<option translatable="no" value="mm">mm</option>
<option translatable="no" value="cm">cm</option>
<option translatable="no" value="px">px</option>
<option translatable="no" value="pt">pt</option>
<option translatable="no" value="in">in</option>
</param>
<param name="stroke_color" type="color" appearance="colorbutton"
gui-text="Cut stroke color:">4278190335</param>
<param name="mark_color" type="color" appearance="colorbutton"
gui-text="Marking stroke color:">255</param>
<param name="keep_original" type="bool"
gui-text="Keep the original image">true</param>
</page>
<page name="help" gui-text="Help">
<!-- Schéma généré par docs/schema_parametres.py, en anglais :
Inkscape ne traduit pas le chemin d'une image. Affiché aux
3/4 du PNG (900 px) pour limiter la hauteur de l'onglet. -->
<image width="675" height="617">images/parameters_en.png</image>
<separator/>
<!-- Un paragraphe par ligne : Inkscape le replie à la largeur de
l'onglet ; des retours à la ligne forcés le laisseraient étroit. -->
<label xml:space="preserve">Select one or more bitmap images (imported photo, height map, blurred noise), then run the extension. Colors are read as grays and transparency as white.
The image is smoothed, then split into the requested number of gray levels with evenly spaced thresholds. Each level becomes one closed path that follows the edge of its flat area, like a contour line on a map.
Each gray level goes into its own layer, named Board no. 1, Board no. 2... from the back to the front, added above the image: as many new layers as gray levels. The boards are meant to be cut and stacked: board no. 1 covers the whole image and each following board is smaller and lies in front of the previous one, lightest (or darkest) in front. In each layer, the cut outline of the board is drawn in the cut color (red), and the outline of the next board is carried over in the marking color (black), to show where to glue it. With "Its own gray only", a board holds the flat area of its gray alone: the boards sit side by side without overlapping and carry no marking. Several selected images share the same layers.
For laser cutting, choose no fill: only the cut and marking strokes remain. For line art only, choose a white single-color fill, or no fill, with a black stroke and no marking. If the outlines are too busy, raise the smoothing or the smallest island; if they look angular, raise the smoothing or the simplification. If a face is no longer recognizable, lower the smoothing and keep "Preserve edges" checked.</label>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu name="AlexDesign"/>
</effects-menu>
</effect>
<script>
<command location="inx" interpreter="python">gray_iso_layers.py</command>
</script>
</inkscape-extension>