[gimp-help] Add Recursive Transform filter
- From: Julien Hardlin <jhardlin src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp-help] Add Recursive Transform filter
- Date: Sat, 2 Mar 2019 17:16:32 +0000 (UTC)
commit b29fa936449b4e9490386c0ca48d7e3b88780e40
Author: Julien Hardelin <jhardlin orange fr>
Date: Sat Mar 2 18:15:48 2019 +0100
Add Recursive Transform filter
.../map/recursive_transform-first-orig.png | Bin 0 -> 8742 bytes
.../examples/map/recursive_transform-first=2.png | Bin 0 -> 8670 bytes
.../examples/map/recursive_transform-origin.png | Bin 0 -> 9639 bytes
.../map/recursive_transform-perspect-ctrl.png | Bin 0 -> 24694 bytes
.../examples/map/recursive_transform-perspect.png | Bin 0 -> 26156 bytes
.../map/recursive_transform-scale-ctrl.png | Bin 0 -> 10303 bytes
.../examples/map/recursive_transform-scale-no.png | Bin 0 -> 10538 bytes
.../examples/map/recursive_transform-scale.png | Bin 0 -> 10113 bytes
.../examples/map/recursive_transform-shear.png | Bin 0 -> 24640 bytes
.../C/filters/map/recursive-transform-dialog.png | Bin 0 -> 26715 bytes
images/C/toolbox/unified-transform.png | Bin 173344 -> 89468 bytes
src/filters/map.xml | 4 +-
src/filters/map/panorama-projection.xml | 3 +-
src/filters/map/recursive-transform.xml | 263 +++++++++++++++++++++
14 files changed, 267 insertions(+), 3 deletions(-)
---
diff --git a/images/C/filters/examples/map/recursive_transform-first-orig.png
b/images/C/filters/examples/map/recursive_transform-first-orig.png
new file mode 100644
index 000000000..aa25fad78
Binary files /dev/null and b/images/C/filters/examples/map/recursive_transform-first-orig.png differ
diff --git a/images/C/filters/examples/map/recursive_transform-first=2.png
b/images/C/filters/examples/map/recursive_transform-first=2.png
new file mode 100644
index 000000000..c988b7ba1
Binary files /dev/null and b/images/C/filters/examples/map/recursive_transform-first=2.png differ
diff --git a/images/C/filters/examples/map/recursive_transform-origin.png
b/images/C/filters/examples/map/recursive_transform-origin.png
new file mode 100644
index 000000000..48e983268
Binary files /dev/null and b/images/C/filters/examples/map/recursive_transform-origin.png differ
diff --git a/images/C/filters/examples/map/recursive_transform-perspect-ctrl.png
b/images/C/filters/examples/map/recursive_transform-perspect-ctrl.png
new file mode 100644
index 000000000..82feefd70
Binary files /dev/null and b/images/C/filters/examples/map/recursive_transform-perspect-ctrl.png differ
diff --git a/images/C/filters/examples/map/recursive_transform-perspect.png
b/images/C/filters/examples/map/recursive_transform-perspect.png
new file mode 100644
index 000000000..aa82cffa5
Binary files /dev/null and b/images/C/filters/examples/map/recursive_transform-perspect.png differ
diff --git a/images/C/filters/examples/map/recursive_transform-scale-ctrl.png
b/images/C/filters/examples/map/recursive_transform-scale-ctrl.png
new file mode 100644
index 000000000..334f0dd5f
Binary files /dev/null and b/images/C/filters/examples/map/recursive_transform-scale-ctrl.png differ
diff --git a/images/C/filters/examples/map/recursive_transform-scale-no.png
b/images/C/filters/examples/map/recursive_transform-scale-no.png
new file mode 100644
index 000000000..b96a686b8
Binary files /dev/null and b/images/C/filters/examples/map/recursive_transform-scale-no.png differ
diff --git a/images/C/filters/examples/map/recursive_transform-scale.png
b/images/C/filters/examples/map/recursive_transform-scale.png
new file mode 100644
index 000000000..67f83f2e0
Binary files /dev/null and b/images/C/filters/examples/map/recursive_transform-scale.png differ
diff --git a/images/C/filters/examples/map/recursive_transform-shear.png
b/images/C/filters/examples/map/recursive_transform-shear.png
new file mode 100644
index 000000000..50fec9b4e
Binary files /dev/null and b/images/C/filters/examples/map/recursive_transform-shear.png differ
diff --git a/images/C/filters/map/recursive-transform-dialog.png
b/images/C/filters/map/recursive-transform-dialog.png
new file mode 100644
index 000000000..52d23aa4d
Binary files /dev/null and b/images/C/filters/map/recursive-transform-dialog.png differ
diff --git a/images/C/toolbox/unified-transform.png b/images/C/toolbox/unified-transform.png
index 3cb15a8e4..917377036 100644
Binary files a/images/C/toolbox/unified-transform.png and b/images/C/toolbox/unified-transform.png differ
diff --git a/src/filters/map.xml b/src/filters/map.xml
index 3f6201e69..3b6fc4d5f 100644
--- a/src/filters/map.xml
+++ b/src/filters/map.xml
@@ -2,7 +2,8 @@
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.docbook.org/xml/4.3/docbookx.dtd">
<!-- section history:
- 2019-02-21 j.h: add panorama-projection
+ 2019-02-24 j.h: add recursive-transform.xml
+ 2019-02-21 j.h: add panorama-projection.xml
2019-02-18 j.h: add little-planet.xml
2007-08-08 ude: moved Van Gogh (LIC) to artistic filters
2005-10-05 created by julien hardelin
@@ -16,6 +17,7 @@
<xi:include href="map/illusion.xml"/>
<xi:include href="map/little-planet.xml"/>
<xi:include href="map/panorama-projection.xml"/>
+ <xi:include href="map/recursive-transform.xml"/>
<xi:include href="map/make-seamless.xml"/>
<xi:include href="map/map-object.xml"/>
<xi:include href="map/papertile.xml"/>
diff --git a/src/filters/map/panorama-projection.xml b/src/filters/map/panorama-projection.xml
index bc15a75a9..5c4c5dcf3 100644
--- a/src/filters/map/panorama-projection.xml
+++ b/src/filters/map/panorama-projection.xml
@@ -5,8 +5,7 @@
2019-02-21 j.h: create
-->
-<sect2 xmlns:xi="http://www.w3.org/2001/XInclude"
- id="gimp-filter-panorama-projection">
+<sect2 xmlns:xi="http://www.w3.org/2001/XInclude" id="gimp-filter-panorama-projection">
<title>Panorama Projection</title>
<indexterm>
diff --git a/src/filters/map/recursive-transform.xml b/src/filters/map/recursive-transform.xml
new file mode 100644
index 000000000..93c267bc6
--- /dev/null
+++ b/src/filters/map/recursive-transform.xml
@@ -0,0 +1,263 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE sect2 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+ "http://www.docbook.org/xml/4.3/docbookx.dtd">
+<!-- section history:
+ 2019-02-24 j.h: create
+-->
+
+<sect2 xmlns:xi="http://www.w3.org/2001/XInclude"
+ id="gimp-filter-recursive-transform">
+ <title>Recursive Transform</title>
+
+ <indexterm>
+ <primary>Filters</primary>
+ <secondary>Map</secondary>
+ <tertiary>Recursive Transform</tertiary>
+ </indexterm>
+ <indexterm>
+ <primary>Recursive Transform</primary>
+ </indexterm>
+
+ <sect3>
+ <title>Overview</title>
+ <para>
+ This filter applies a transformation recursively.
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata format="PNG"
+ fileref="images/filters/examples/map/recursive_transform-origin.png"/>
+ </imageobject>
+ </mediaobject>
+ <para>
+ As in Unified Transform tool, this filter display a frame around the
+ image with several kind of handles:
+ <itemizedlist>
+ <listitem>
+ <para>
+ <guiicon><inlinegraphic
+ fileref="images/toolbox/shear-icon.png"/></guiicon>
+ Diamonds for shearing
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata format="PNG"
+ fileref="images/filters/examples/map/recursive_transform-shear.png"/>
+ </imageobject>
+ <caption>
+ <para>
+ Shear
+ </para>
+ </caption>
+ </mediaobject>
+ </listitem>
+ <listitem>
+ <para>
+ <guiicon><inlinegraphic
+ fileref="images/toolbox/scale-icon.png"/></guiicon>
+ Squares for scaling horizontally or vertically.
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata format="PNG"
+ fileref="images/filters/examples/map/recursive_transform-scale.png"/>
+ </imageobject>
+ <caption>
+ <para>
+ Scale horizontally
+ </para>
+ </caption>
+ </mediaobject>
+ </listitem>
+ <listitem>
+ <para>
+ <guiicon><inlinegraphic
+ fileref="images/toolbox/perspective-icon.png"/></guiicon>
+ Small diamonds for changing perspective, in large squares for
+ Scaling in all directions.
+ </para>
+ <figure>
+ <title>Changing perspective</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata format="PNG"
+ fileref="images/filters/examples/map/recursive_transform-perspect.png"/>
+ </imageobject>
+ <caption>
+ <para>
+ Change perspective
+ </para>
+ </caption>
+ </mediaobject>
+ <mediaobject>
+ <imageobject>
+ <imagedata format="PNG"
+ fileref="images/filters/examples/map/recursive_transform-perspect-ctrl.png"/>
+ </imageobject>
+ <caption>
+ <para>
+ The same pressing <keycap>Ctrl</keycap>
+ </para>
+ </caption>
+ </mediaobject>
+ </figure>
+ <figure>
+ <title>Scaling in all directions</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata format="PNG"
+ fileref="images/filters/examples/map/recursive_transform-scale-no.png"/>
+ </imageobject>
+ <caption>
+ <para>
+ Scaling
+ </para>
+ </caption>
+ </mediaobject>
+ <mediaobject>
+ <imageobject>
+ <imagedata format="PNG"
+ fileref="images/filters/examples/map/recursive_transform-scale-ctrl.png"/>
+ </imageobject>
+ <caption>
+ <para>
+ The same pressing <keycap>Ctrl</keycap>
+ </para>
+ </caption>
+ </mediaobject>
+ </figure>
+ </listitem>
+ </itemizedlist>
+ and outside the frame, the mouse pointer comes with a rotation icon:
+ click-and-drag to rotate around the pivot. This pivot is, by default,
+ at the center of the image: click-and-drag to move it.
+ </para>
+ </sect3>
+
+ <sect3>
+ <title>Activate the filter</title>
+ <para>
+ This filter is found in the image window menu under
+ <menuchoice>
+ <guimenu>Filters</guimenu>
+ <guisubmenu>Map</guisubmenu>
+ <guimenuitem>Recursive Transform…</guimenuitem>
+ </menuchoice>.
+ </para>
+ </sect3>
+
+ <sect3>
+ <title>Options</title>
+ <figure>
+ <title><quote>Recursive Transform</quote> filter options</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata format="PNG"
+ fileref="images/filters/map/recursive-transform-dialog.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <variablelist>
+ <varlistentry>
+ <term>Presets, Preview, Split view</term>
+ <listitem>
+ <xi:include href="../about-common-features.xml"/>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>First iteration</term>
+ <listitem>
+ <para>
+ This option is used when the number of iterations has been set.
+ Then the transformation starts at the position determined by this
+ option.
+ </para>
+ <figure>
+ <title><quote>Recursive Transform</quote> filter options</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata format="PNG"
+ fileref="images/filters/examples/map/recursive_transform-first-orig.png"/>
+ </imageobject>
+ <caption>
+ <para>
+ Original image. Iterations = 3. Fade = 0.797
+ </para>
+ </caption>
+ </mediaobject>
+ <mediaobject>
+ <imageobject>
+ <imagedata format="PNG"
+ fileref="images/filters/examples/map/recursive_transform-first=2.png"/>
+ </imageobject>
+ <caption>
+ <para>
+ First Iteration = 2
+ </para>
+ </caption>
+ </mediaobject>
+ </figure>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Iterations</term>
+ <listitem>
+ <para>
+ Number of iterations.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Fade color</term>
+ <listitem>
+ <para>
+ The color that will be used to fade. Default is transparency. You
+ can change this color selecting a new color by clicking in the
+ color swatch or using the color picker on the right.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Fade opacity</term>
+ <listitem>
+ <para>
+ Amount by which to scale opacity of each iterated image.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Paste below</term>
+ <listitem>
+ <para>
+ Paste iterated images below each other.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Resampling method</term>
+ <listitem>
+ <para>
+ Interpolation methods are described in
+ <xi:include href="../about-common-features.xml"/>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Three buttons</term>
+ <listitem>
+ <para>
+ To add, duplicate or remove transform.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </sect3>
+
+ <sect3>
+ <title>Using Recursive Transform Filter</title>
+ <!--TODO later: to much difficult to perform-->
+ <para>
+ You can use this filter to create a Droste effect, 3D effects, trees.
+ </para>
+ </sect3>
+</sect2>
\ No newline at end of file
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]