Răsfoiți Sursa

update website and pad file

Juliette ELSASS 3 luni Ʈn urmă
părinte
comite
8a3fdadbb8

+ 2 - 0
.gitignore

@@ -38,3 +38,5 @@ lazpaint/release/windows/lazpaint*_no_install.zip
 lazpaint/release/bin/i18n/lazpaint64.pot
 lazpaint/release/windows/libavif/
 web/.hugo_build.lock
+
+web/hugo.exe

+ 2 - 2
lazpaint/release/stable/latest.txt

@@ -1,2 +1,2 @@
-7.2.2
-lang_update=tr
+7.3
+lang_update=

+ 8 - 8
lazpaint/release/stable/pad_file.xml

@@ -34,10 +34,10 @@
 	</Company_Info>
 	<Program_Info>
 		<Program_Name>LazPaint</Program_Name>
-		<Program_Version>7.2.2</Program_Version>
-		<Program_Release_Month>08</Program_Release_Month>
-		<Program_Release_Day>23</Program_Release_Day>
-		<Program_Release_Year>2022</Program_Release_Year>
+		<Program_Version>7.3</Program_Version>
+		<Program_Release_Month>05</Program_Release_Month>
+		<Program_Release_Day>26</Program_Release_Day>
+		<Program_Release_Year>2025</Program_Release_Year>
 		<Program_Cost_Dollars />
 		<Program_Cost_Other_Code />
 		<Program_Cost_Other />
@@ -51,9 +51,9 @@
 		<Program_Category_Class>Graphic Apps::Editors</Program_Category_Class>
 		<Program_System_Requirements>Pentium, 32-bit processor, 200 Mbytes RAM</Program_System_Requirements>
 		<File_Info>
-			<File_Size_Bytes>13800439</File_Size_Bytes>
-			<File_Size_K>13477</File_Size_K>
-			<File_Size_MB>13.2</File_Size_MB>
+			<File_Size_Bytes>14153628</File_Size_Bytes>
+			<File_Size_K>13821</File_Size_K>
+			<File_Size_MB>13.5</File_Size_MB>
 		</File_Info>
 		<Expire_Info>
 			<Has_Expire_Info>N</Has_Expire_Info>
@@ -116,7 +116,7 @@
 			<Application_XML_File_URL>https://gitcdn.link/repo/bgrabitmap/lazpaint/master/lazpaint/release/stable/pad_file.xml</Application_XML_File_URL>
 		</Application_URLs>
 		<Download_URLs>
-			<Primary_Download_URL>https://github.com/bgrabitmap/lazpaint/releases/download/v7.2.2/lazpaint7.2.2_setup_win32_win64.exe</Primary_Download_URL>
+			<Primary_Download_URL>https://github.com/bgrabitmap/lazpaint/releases/download/v7.3/lazpaint7.3_setup_win32_win64.exe</Primary_Download_URL>
 			<Secondary_Download_URL />
 			<Additional_Download_URL_1 />
 			<Additional_Download_URL_2 />

+ 2 - 2
web/config.toml

@@ -29,7 +29,7 @@ disableKinds = ["taxonomy"]
     weight = 6
 
 [permalinks]
-  blog = "/:filename/"
+  blog = "/:contentbasename/"
 
 # See https://feathericons.com/
 # The value of pre is the icon name
@@ -44,7 +44,7 @@ disableKinds = ["taxonomy"]
     weight = 2
    [[menu.main]]
     name = "documentation"
-    url = "https://wiki.freepascal.org/LazPaint"
+    url = "/documentation/"
     weight = 3
    [[menu.main]]
     name = "download"

+ 8 - 0
web/content/documentation.de.md

@@ -0,0 +1,8 @@
+---
+title: "documentation"
+date: 2025-05-26T13:16:33+02:00
+draft: false
+type: "page"
+layout: "documentation"
+---
+

+ 8 - 0
web/content/documentation.es.md

@@ -0,0 +1,8 @@
+---
+title: "documentation"
+date: 2025-05-26T13:34:03+02:00
+draft: false
+type: "page"
+layout: "documentation"
+---
+

+ 8 - 0
web/content/documentation.fi.md

@@ -0,0 +1,8 @@
+---
+title: "documentation"
+date: 2025-05-26T13:41:08+02:00
+draft: false
+type: "page"
+layout: "documentation"
+---
+

+ 8 - 0
web/content/documentation.fr.md

@@ -0,0 +1,8 @@
+---
+title: "documentation"
+date: 2025-05-26T12:29:53+02:00
+draft: false
+type: "page"
+layout: "documentation"
+---
+

+ 8 - 0
web/content/documentation.md

@@ -0,0 +1,8 @@
+---
+title: "documentation"
+date: 2025-05-26T12:29:51+02:00
+draft: false
+type: "page"
+layout: "documentation"
+---
+

+ 8 - 0
web/content/documentation.ru.md

@@ -0,0 +1,8 @@
+---
+title: "documentation"
+date: 2025-05-26T13:47:57+02:00
+draft: false
+type: "page"
+layout: "documentation"
+---
+

+ 15 - 19
web/layouts/index.html

@@ -11,11 +11,10 @@
    {{ $link_linux64_qt5_no_install := printf "%s_linux64_qt5_no_install.tar.gz" $prefix -}}
    {{ $link_linux32_qt5_deb := printf "%s_linux32_qt5.deb" $prefix -}}
    {{ $link_linux64_qt5_deb := printf "%s_linux64_qt5.deb" $prefix -}}
-   {{ $link_rpi32_no_install := printf "%s_raspbian-hf_no_install.tar.gz" $prefix -}}
-   {{ $link_rpi64_no_install := printf "%s_raspbian64_no_install.tar.gz" $prefix -}}
-   {{ $link_rpi32_deb := printf "%s_raspbian-hf.deb" $prefix -}}
-   {{ $link_rpi64_deb := printf "%s_raspbian64.deb" $prefix -}}
-   {{ $link_freebsd64_no_install := printf "%s_freebsd64_no_install.tar.gz" $prefix -}}
+   {{ $link_linux64_app_image := printf "%s_x86_64.AppImage" $prefix -}}
+   {{ $link_arm32_no_install := printf "%s_linux_arm32_gtk2_no_install.zip" $prefix -}}
+   {{ $link_aarch64_no_install := printf "%s_linux_aarch64_gtk2_no_install.zip" $prefix -}}
+   {{ $link_freebsd64_no_install := printf "%s_freebsd64_gtk2_no_install.zip" $prefix -}}
    {{ $link_macos32_dmg := printf "%s_macos32.dmg" $prefix -}}
    {{ $link_macos64_dmg := printf "%s_macos64.dmg" $prefix -}}
    {{ $link_macos_brew := "https://formulae.brew.sh/cask/lazpaint" }}
@@ -35,31 +34,28 @@
                     ({{ i18n "no_install" }})</a>
                 <a class="button" href="{{$link_win64_no_install}}">{{ printf (i18n "archive") (i18n "bit_64") }}
                     ({{ i18n "no_install" }})</a>
-                <a href="https://portableapps.com/apps/graphics_pictures/lazpaint-portable" class="button">Portable ({{ i18n "bit_32_and_64" }})</a></p>
+                <!--<a href="https://portableapps.com/apps/graphics_pictures/lazpaint-portable" class="button">Portable ({{ i18n "bit_32_and_64" }})</a>--></p>
           </div>
           <div id="Linux">
             <h2>Linux</h2>
-            <p><a class="button" href="{{$link_linux32_deb}}">{{ printf (i18n "deb_package") (i18n "bit_32") }}
-                    </a>
+            <p><!--<a class="button" href="{{$link_linux32_deb}}">{{ printf (i18n "deb_package") (i18n "bit_32") }}
+                    </a>-->
                 <a class="button" href="{{$link_linux64_deb}}">{{ printf (i18n "deb_package") (i18n "bit_64") }}
                     </a>
-                <a class="button" href="{{$link_linux32_no_install}}">{{ printf (i18n "archive") (i18n "bit_32") }}
-                    ({{ i18n "no_install" }})</a>
+                <!--<a class="button" href="{{$link_linux32_no_install}}">{{ printf (i18n "archive") (i18n "bit_32") }}
+                    ({{ i18n "no_install" }})</a>-->
                 <a class="button" href="{{$link_linux64_no_install}}">{{ printf (i18n "archive") (i18n "bit_64") }}
                     ({{ i18n "no_install" }})</a></p>
+				<a class="button" href="{{$link_linux64_app_image}}">AppImage {{ printf (i18n "bit_64") }}</a></p>
             <h2>Linux (Qt5)</h2>
             <p><a class="button" href="{{$link_linux64_qt5_deb}}">Qt5 {{ printf (i18n "deb_package") (i18n "bit_64") }}
                     </a>
                 <a class="button" href="{{$link_linux64_qt5_no_install}}">Qt5 {{ printf (i18n "archive") (i18n "bit_64") }}
                     ({{ i18n "no_install" }})</a></p>
-            <h2>Rpi</h2>
-            <p><a class="button" href="{{$link_rpi32_deb}}">{{ printf (i18n "deb_package") (i18n "bit_32") }}
-                    </a>
-                <a class="button" href="{{$link_rpi64_deb}}">{{ printf (i18n "deb_package") (i18n "bit_64") }}
-                    </a>
-                <a class="button" href="{{$link_rpi32_no_install}}">{{ printf (i18n "archive") (i18n "bit_32") }}
+            <h2>Linux ARM</h2>
+            <p><a class="button" href="{{$link_arm32_no_install}}">{{ printf (i18n "archive") (i18n "bit_32") }}
                     ({{ i18n "no_install" }})</a>
-                <a class="button" href="{{$link_rpi64_no_install}}">{{ printf (i18n "archive") (i18n "bit_64") }}
+                <a class="button" href="{{$link_aarch64_no_install}}">{{ printf (i18n "archive") (i18n "bit_64") }}
                     ({{ i18n "no_install" }})</a></p>
           </div>
           <div id="UNIX">
@@ -69,8 +65,8 @@
           </div>
           <div id="MacOS">
             <h2>MacOS</h2>
-            <p><a class="button" href="{{$link_macos32_dmg}}">MacOS
-                    {{ i18n "bit_32" }}</a>
+            <p><!--<a class="button" href="{{$link_macos32_dmg}}">MacOS
+                    {{ i18n "bit_32" }}</a>-->
                 <a class="button" href="{{$link_macos64_dmg}}">MacOS
                     {{ i18n "bit_64" }}</a>
                 <a class="button" href="{{$link_macos_brew}}">MacOS

Fișier diff suprimat deoarece este prea mare
+ 108 - 0
web/layouts/page/documentation.de.html


Fișier diff suprimat deoarece este prea mare
+ 108 - 0
web/layouts/page/documentation.es.html


Fișier diff suprimat deoarece este prea mare
+ 108 - 0
web/layouts/page/documentation.fi.html


+ 169 - 0
web/layouts/page/documentation.fr.html

@@ -0,0 +1,169 @@
+{{ partial "header.html" . }}
+<main id="main" class="doc">
+
+<div>
+    <a class="button" href="#interface">PrĆ©sentation de l’interface</a>
+    <a class="button" href="#tools">Outils de base</a>
+    <a class="button" href="#selection">Outils de sƩlection</a>
+    <a class="button" href="#layers">Calques</a>
+    <a class="button" href="#transforms">Transformations</a>
+    <a class="button" href="#colors">RƩglages couleur</a>
+    <a class="button" href="#filters">Filtres & effets</a>
+    <a class="button" href="#advanced">Fonctions avancƩes</a>
+    <a class="button" href="#shortcuts">Raccourcis clavier</a>
+    <a class="button" href="#faq">FAQ</a>
+    <a class="button" href="#resources">Ressources utiles</a>
+</div>
+
+<div class="large-columns"><h2 id="interface">PrĆ©sentation de l’interface</h2>
+<p>LazPaint propose une interface hybride, Ć  la fois fenĆŖtrĆ©e unique et multi‑fenĆŖtres, centrĆ©e sur la zone de dessin. La boĆ®te Ć  outils, le sĆ©lecteur de couleurs et la pile de calques peuvent ĆŖtre dĆ©tachĆ©s en panneaux flottants. Chacun de ces panneaux peut ĆŖtre affichĆ© ou masquĆ© via le menu <em>Affichage</em> (ou en pressant <strong>F6</strong> pour tout afficher/cacher d’un coup). Un thĆØme sombre est disponible si vous prĆ©fĆ©rez travailler sur fond foncĆ©. Les menus rappellent ceux des autres Ć©diteurs d’images&nbsp;: Fichier, Ɖdition, SĆ©lection, Affichage, Image, Couleurs, Outils, Filtre, Rendu, Script, Aide. Les actions courantes sont aussi accessibles via une barre d’icĆ“nes. En bas, la barre d’état affiche des infos contextuelles (astuces sur l’outil, dimensions de la sĆ©lection, etc.). Bref, l’interface est pensĆ©e pour ĆŖtre familiĆØre et facile Ć  prendre en main.</p>
+{{ $img := "img/lazpaint-interface.png" | relURL -}}
+<center><img src="{{ $img }}" style="width: 50em; max-width: 100%" alt="Interface LazPaint" /></center></div>
+
+<div class="columns"><h2 id="tools">Outils de base</h2>
+<p>LazPaint propose une large palette d’outils de dessin et d’édition, accessibles depuis la boĆ®te Ć  outils verticale (gĆ©nĆ©ralement Ć  gauche de l’écran). Voici un aperƧu des principaux outils et de leur usage&nbsp;:</p>
+<ul>
+  <li><strong>Pinceau / Crayon&nbsp;:</strong> outil de dessin libre qui peint sur la toile avec la couleur sĆ©lectionnĆ©e. Vous pouvez choisir la forme et la taille de la brosse (voire charger des images de brosse personnalisĆ©es). La brosse peut ĆŖtre adoucie (dĆ©gradĆ© d’opacitĆ©) pour des bords lisses. Parfait pour tracer lignes et coups de pinceau.</li>
+  <li><strong>Gomme&nbsp;:</strong> efface des zones de l’image ; les pixels deviennent transparents (damier). La gomme peut fonctionner en diffĆ©rents modes&nbsp;: Ć©claircir, assombrir, etc., au lieu d’effacer totalement, pour des effets de fusion spĆ©ciaux. Ajustez sa taille et son opacitĆ© selon le besoin, idĆ©al pour supprimer des Ć©lĆ©ments ou fondre doucement des bords.</li>
+  <li><strong>Pot de peinture&nbsp;:</strong> remplit une zone contiguĆ« avec la couleur de premier plan. Cliquez sur une rĆ©gion : la couleur de cette zone (dans la tolĆ©rance fixĆ©e) est remplacĆ©e par la couleur de remplissage. Parfait pour colorier formes ou arriĆØre-plans. RĆ©glez la tolĆ©rance pour dĆ©finir la similitude requise entre pixels (plus la tolĆ©rance est Ć©levĆ©e, plus la plage de couleurs acceptĆ©es est large). Le mode Progressif, activable dans la barre d’outils, fait Ć©voluer la couleur au fur et Ć  mesure que celle du point initial change.</li>
+  <li><strong>Outils Forme&nbsp;:</strong> permettent de tracer des formes vectorielles (rectangles, ellipses, polygones, courbes). Chaque forme crĆ©e un objet ou calque vectoriel Ć©ditable (dĆ©placement/redimensionnement sans perte). Pour un rectangle ou une ellipse, cliquez-glissez ; maintenez <strong>Shift</strong> pour un carrĆ© ou cercle parfait. Polygone&nbsp;/ polyligne&nbsp;: cliquez plusieurs points pour des segments droits (<strong>Retour arriĆØre</strong> retire le dernier point). Pour les courbes de type BĆ©zier, cliquez les points clefs ; la courbe s’y adapte ; pressez <strong>S</strong> pour un point arrondi ou <strong>X</strong> pour un angle. Pour terminer un polygone ou une courbe, faites un clic droit ou cliquez Ć  nouveau le premier point. Vous pouvez remplir la forme par couleur unie, dĆ©gradĆ© ou texture et lui appliquer contour ou ombre (voir <a href="#advanced">Fonctions avancĆ©es</a>).</li>
+  <li><strong>Outil Texte&nbsp;:</strong> insĆØre du texte. Cliquez sur la toile pour dĆ©finir la zone et tapez. Choisissez police, taille, style, alignement, couleur. Le texte est un objet vectoriel, donc rĆ©-Ć©ditable Ć  volontĆ©. LazPaint gĆØre des effets spĆ©ciaux (contour, ombrage Phong) via la barre d’outils. <strong>Esc</strong> termine l’édition ; <strong>EntrĆ©e</strong> ajoute un paragraphe (marge verticale) ; <strong>Shift+EntrĆ©e</strong> insĆØre un simple saut de ligne.</li>
+  <li><strong>Pipette (Color Picker)&nbsp;:</strong> Ć©chantillonne une couleur de l’image. Cliquez (ou maintenez) sur un pixel pour placer sa couleur dans l’emplacement principal (Ā« Stylo Ā»). Un clic alternatif (par ex. clic droit) place la couleur secondaire (Ā« ArriĆØre-plan Ā»). Pratique pour assortir des couleurs existantes. Raccourci rapide&nbsp;: <strong>C</strong>.</li>
+  <li><strong>Tampon de clonage&nbsp;:</strong> outil de retouche qui copie des pixels d’une zone vers une autre (utile pour effacer des imperfections ou dupliquer un Ć©lĆ©ment). Faites d’abord un <strong>clic droit</strong> sur la zone source, puis peignez (clic gauche) lĆ  où vous voulez copier. La source se dĆ©place avec le pinceau. Pour changer la source, clic droit ailleurs. Fonctionne aussi entre calques ; assurez-vous d’avoir le bon calque actif.</li>
+  <li><strong>Outils de sĆ©lection&nbsp;:</strong> (dĆ©taillĆ©s dans la section <a href="#selection">Outils de sĆ©lection</a>) — rectangle, ellipse, lasso libre, polygone, baguette magique. Une fois la sĆ©lection faite, les autres outils n’affectent que cette zone. Les sĆ©lections peuvent ĆŖtre inversĆ©es ou modifiĆ©es.</li>
+  <li><strong>Outil DĆ©placement&nbsp;:</strong> dĆ©place la sĆ©lection ou le contenu du calque actif. AprĆØs avoir sĆ©lectionnĆ© une zone, choisissez l’outil et faites glisser. Si tout un calque est sĆ©lectionnĆ©, il est dĆ©placĆ©. Indispensable pour organiser une composition.</li>
+  <li><strong>Main (Panoramique)&nbsp;:</strong> icĆ“ne main ; permet de faire dĆ©filer la vue sans modifier l’image. Cliquez-glissez pour dĆ©placer. Utile en fort zoom. Vous pouvez aussi dĆ©marrer le dĆ©placement d’une forme ou d’un calque en cliquant dessus. Inutile de changer souvent d’outil : maintenez <strong>Espace</strong> pour activer temporairement la main, puis relĆ¢chez pour revenir Ć  l’outil prĆ©cĆ©dent.</li>
+  <li><strong>ContrĆ“le du zoom&nbsp;:</strong> icĆ“nes loupe +/–, molette de souris pour zoomer ; maintenir <strong>Ctrl</strong> pour un pas plus fin. Boutons 100 % (taille rĆ©elle) et Ā« Ajuster Ć  la fenĆŖtre Ā». Le zoom n’altĆØre pas l’image, seulement l’affichage. La barre d’outils indique le niveau de zoom et les coordonnĆ©es du curseur, pratiques pour travailler avec prĆ©cision.</li>
+</ul>
+<p>La plupart des outils affichent une barre d’options contextuelle (opacitĆ©, taille, tolĆ©rance, etc.). Pensez Ć  la vĆ©rifier pour obtenir l’effet dĆ©sirĆ©. Avec un peu de pratique, ces outils permettent aussi bien des dessins simples que des retouches complexes.</p></div>
+
+<div class="columns"><h2 id="selection">Outils de sƩlection</h2>
+<p>Les outils de sĆ©lection permettent de dĆ©finir et de travailler sur une zone prĆ©cise de l’image. LazPaint gĆØre les sĆ©lections lissĆ©es (bords anti-alias) et la semi-sĆ©lection ; vous pouvez mĆŖme modifier la sĆ©lection comme un masque. Le contenu sĆ©lectionnĆ© se comporte comme un calque temporaire : une zone semi-sĆ©lectionnĆ©e est dessinĆ©e en semi-opacitĆ©. Les principaux outils sont :</p>
+<ul>
+   <li><strong>SƩlection rectangulaire & elliptique :</strong> cliquez-glissez pour sƩlectionner un rectangle ou une ellipse. Le contour apparaƮt biseautƩ, surlignƩ en bleu. Maintenez <strong>Shift</strong> pour forcer un carrƩ ou un cercle. IdƩal pour sƩlectionner rapidement de grandes zones, des bordures ou des formes rondes.</li>
+   <li><strong>Sélection polygonale :</strong> semblable au lasso, mais par segments droits. Cliquez pour placer les sommets ; une ligne relie chaque point. Parfait pour des formes irrégulières à arêtes droites. <strong>Retour arrière</strong> retire le dernier point. Pour terminer, cliquez le point de départ ou faites un clic droit pour fermer automatiquement le polygone.</li>
+   <li><strong>SĆ©lection courbe :</strong> mĆŖme principe que la sĆ©lection polygonale, mais avec des courbes de type BĆ©zier qui s’adaptent aux points.</li>
+   <li><strong>Baguette magique :</strong> sĆ©lection par similaritĆ© de couleur. Cliquez sur un pixel : l’outil choisit tous les pixels voisins de couleur proche (tolĆ©rance rĆ©glable dans les options). Parfait pour un fond uni ou toute zone de couleur homogĆØne. Avec l’option Ā« Progressif Ā», le bord est antialiasĆ© ou semi-sĆ©lectionnĆ©.</li>
+   <li><strong>Stylo de sĆ©lection :</strong> LazPaint permet aussi de peindre directement le masque de sĆ©lection : l’aire sĆ©lectionnĆ©e apparaĆ®t en superposition translucide. TrĆØs prĆ©cis pour des sĆ©lections complexes ; mĆ©thode avancĆ©e mais puissante.</li>
+   <li><strong>Ɖditer la sĆ©lection :</strong> un Ā« Ć©diteur de sĆ©lection Ā» dĆ©diĆ© (menu Ɖditer la sĆ©lection) affiche la sĆ©lection en niveaux de gris (blanc = sĆ©lectionnĆ©, noir = non sĆ©lectionnĆ©, gris = semi-sĆ©lection).</li>
+</ul>
+<p>Une fois la sĆ©lection faite, les autres opĆ©rations n’affectent que cette zone. Vous pouvez aussi dĆ©placer ou transformer la sĆ©lection elle-mĆŖme : choisissez l’outil DĆ©placer pour la faire glisser. Diverses transformations sont proposĆ©es dans le menu SĆ©lection. Si vous devez ajuster la transformation, mieux vaut coller la zone dans un nouveau calque et utiliser les transformations de calque. <strong>Esc</strong> annule la transformation courante ; <strong>EntrĆ©e</strong> dĆ©sĆ©lectionne (Ā« libĆØre Ā» la sĆ©lection en la fusionnant sur le calque actif).</p>
+<p>Vous pouvez affiner une sĆ©lection existante en ajoutant ou retranchant des zones ; particularitĆ© de LazPaint : le clic droit retranche directement de la sĆ©lection sans changer d’outil, ce qui rend la retouche trĆØs rapide. N’oubliez pas qu’un filtre ou un coup de pinceau n’agira que dans le pĆ©rimĆØtre de la sĆ©lection active.</p></div>
+
+<div class="columns"><h2 id="layers">Gestion des calques</h2>
+<p>ƀ l’instar des Ć©diteurs avancĆ©s, LazPaint prend en charge plusieurs calques dans une mĆŖme image. Le panneau <strong>Calques</strong> affiche tous les calques empilĆ©s comme des feuilles transparentes. Depuis la barre d’outils ou le menu Calque, vous pouvez ajouter un calque, dupliquer, supprimer ou rĆ©organiser par glisser-dĆ©poser. Chaque calque possĆØde une case Ć  cocher pour la visibilitĆ©, un curseur pour l’opacitĆ© et un menu dĆ©roulant pour le mode de fusion (par dĆ©faut Ā« Normal Ā»). Les modes de fusion (Multiplier, Additif, etc.) permettent de mĆ©langer les calques de diverses faƧons, certaines uniques Ć  LazPaint. GrĆ¢ce aux calques, vous modifiez des parties de l’image sĆ©parĆ©ment, sans altĆ©rer le reste&nbsp;: c’est l’édition non destructive.</p>
+<p>LazPaint gĆØre les calques <em>raster</em> et <em>vectoriels</em> dans le mĆŖme fichier. Un calque raster est un bitmap classique, tandis qu’un calque vectoriel contient formes ou texte Ć©ditables. Par exemple, avec l’outil Forme ou Texte, l’objet reste vectoriel et vous pouvez le retoucher plus tard (changer le texte, redessiner la courbe). Si vous transformez le calque, l’objet est re-rendu proprement. DĆØs que vous utilisez un outil pixel (pinceau, gomme…) sur ce calque, LazPaint le rasterise : les formes deviennent pixels et ne sont plus Ć©ditables comme vecteurs. Le processus est automatique&nbsp;; souvenez-vous seulement qu’un coup de pinceau convertit le calque vectoriel en calque raster.</p>
+<p>OpƩrations de base&nbsp;:</p>
+<ul>
+	<li><strong>Renommer&nbsp;:</strong> cliquez sur le nom pour le modifier (pratique pour s’y retrouver).</li>
+	<li><strong>RƩordre&nbsp;:</strong> faites glisser les calques pour changer leur position dans la pile.</li>
+	<li><strong>OpacitƩ&nbsp;:</strong> rƩglez la transparence (0 % = invisible, 100 % = opaque).</li>
+	<li><strong>Mode de fusion&nbsp;:</strong> choisissez la faƧon dont il se combine avec ceux du dessous (Multiplier, Ɖcran, etc.). Cliquez sur le bouton mode pour une palette visuelle ou utilisez la liste.</li>
+	<li><strong>Nouveau / Supprimer&nbsp;:</strong> ajoutez un calque (vide ou collage) ou supprimez le calque sƩlectionnƩ.</li>
+</ul>
+<p>Vous disposez aussi des commandes <strong>Aplatir</strong> (fusionner tous les calques en un seul, utile avant d’exporter vers un format sans calques) et <strong>Fusionner vers le bas</strong> (combiner le calque courant avec celui juste en dessous). L’aplatissement Ć©limine les calques masquĆ©s et produit une image simple. Pour conserver le travail en cours, enregistrez au format natif <code>.LZP</code>, qui garde calques, transparence et mĆ©tadonnĆ©es. Vous pourrez ensuite exporter en PNG ou JPG pour le partage. LazPaint sait aussi enregistrer en OpenRaster <code>.ORA</code>, ouvrable dans d’autres logiciels (Krita, GIMP…). Il importe Ć©galement les fichiers Paint.NET (<code>.pdn</code>). En somme, les calques figurent parmi les atouts majeurs de LazPaint : servez-vous-en pour sĆ©parer croquis, aplats, ombres, etc., et les Ć©diter indĆ©pendamment.</p></div>
+
+<div class="columns"><h2 id="transforms">Transformations</h2>
+<p>LazPaint propose de nombreuses commandes pour transformer l’image ou les calques. Les opĆ©rations courantes se trouvent dans le menu <em>Image</em> ou la barre <em>Calque</em>. Vous pouvez par exemple faire pivoter l’image entiĆØre de 90° dans un sens ou dans l’autre, ou la retourner horizontalement / verticalement. Si vous travaillez avec la commande de calque, seule la couche sĆ©lectionnĆ©e est affectĆ©e. Des outils interactifs permettent Ć©galement de pivoter selon n’importe quel angle ou de redimensionner.</p>
+<p><strong>Mise Ć  l’échelle / Redimensionnement&nbsp;:</strong> pour redimensionner l’image complĆØte, utilisez <em>Image › RƩƩchantillonner</em> et saisissez les nouvelles dimensions. LazPaint emploie des algorithmes de rƩƩchantillonnage afin de prĆ©server la qualitĆ© lors d’un agrandissement ou d’une rĆ©duction. La fonction <em>Taille du canevas</em> permet quant Ć  elle d’agrandir ou de rogner la zone de travail sans dĆ©former le contenu (pratique pour ajouter une bordure ou couper des bords). Pour redimensionner un calque ou une sĆ©lection particuliĆØre, servez-vous de l’outil de transformation de sĆ©lection ou copiez la sĆ©lection dans une nouvelle image, redimensionnez, puis collez de nouveau.</p>
+<p><strong>Rotation&nbsp;:</strong> pour pivoter rapidement de 90°, utilisez les commandes du menu. Pour une rotation libre, sĆ©lectionnez le calque (ou la sĆ©lection) puis l’outil Rotation ; un cadre apparaĆ®t et vous pouvez faire tourner en faisant glisser. Maintenez <strong>Ctrl</strong> pour accrocher aux angles usuels (pas de 15°). Validez avec <strong>EntrĆ©e</strong> ou annulez avec <strong>Esc</strong>. Tourner un calque vectoriel ne dĆ©tĆ©riore pas la qualitĆ© (il est re-rendu). Tourner plusieurs fois un calque raster ne provoque pas de flou tant qu’il n’est pas re-rasterisĆ© (par un coup de pinceau, par exemple). Essayez donc de conserver sĆ©parĆ©s les Ć©lĆ©ments que vous transformez souvent.</p>
+<p><strong>DĆ©placement&nbsp;:</strong> l’outil DĆ©placer (voir Outils de base) sert Ć  dĆ©placer le contenu d’un calque ou d’une sĆ©lection. Les flĆØches du clavier permettent de Ā« pousser Ā» par petits pas : 1 px, ou 10 px avec <strong>Ctrl</strong>, et alignement au bord avec <strong>Alt</strong>. IdĆ©al pour un positionnement au pixel prĆØs.</p>
+<p><strong>Outils de transformation avancĆ©s&nbsp;:</strong> LazPaint 7 a introduit plusieurs outils sophistiquĆ©s. L’outil <em>Perspective de calque</em> permet de tirer les coins d’un calque pour donner l’illusion d’une inclinaison ou d’un recul 3D. Le <em>Grillage de dĆ©formation</em> applique un maillage que l’on dĆ©forme point par point, parfait pour corriger subtilement une photo ou crĆ©er un morphing artistique. L’outil <em>Zoom calque</em> redimensionne un calque via des poignĆ©es. Ces fonctions rapprochent LazPaint des grands logiciels en matiĆØre de transformations complexes.</p>
+<p>N’oubliez pas : vous pouvez toujours Annuler (<em>Ctrl+Z</em>) si le rĆ©sultat ne convient pas. Par dĆ©faut, LazPaint conserve jusqu’à 200 annulations, ce qui laisse une grande libertĆ© d’expĆ©rimentation. Utilisez les transformations pour positionner et ajuster vos Ć©lĆ©ments jusqu’à obtenir le rĆ©sultat souhaitĆ©.</p></div>
+
+<div class="columns"><h2 id="colors">RƩglages couleur</h2>
+<p>Le menu <strong>Couleurs</strong> regroupe de nombreuses fonctions de retouche colorimĆ©trique. Elles servent Ć  corriger ou modifier les couleurs d’une image ou d’un calque. Parmi les rĆ©glages essentiels&nbsp;:</p>
+<ul>
+  <li><strong>LuminositĆ© / Contraste&nbsp;:</strong> ajustement de base pour Ć©claircir ou assombrir l’image et augmenter ou rĆ©duire le contraste. La luminositĆ© dĆ©place toutes les couleurs vers le clair ou le foncĆ© ; le contraste Ć©tire ou comprime l’écart entre zones claires et sombres. Raccourci&nbsp;: <em>Ctrl+Maj+T</em>.</li>
+  <li><strong>Courbes&nbsp;:</strong> outil avancé qui remappe les tons via une courbe. On peut agir sur les canaux RVB ou HSL, offrant un contrÓle fin ; par exemple, éclaircir les médiums sans brûler les hautes lumières.</li>
+  <li><strong>Coloriser&nbsp;:</strong> applique une teinte tout en conservant la luminositĆ©. Choisissez une teinte et la saturation ; pratique pour passer une photo N&B en sĆ©pia, comme si l’on posait un filtre colorĆ©.</li>
+  <li><strong>PostƩriser&nbsp;:</strong> rƩduit le nombre de couleurs distinctes. Un niveau de 8, par exemple, limite chaque canal Ơ 8 valeurs, donnant un rendu graphique Ơ aplats.</li>
+  <li><strong>Décaler les couleurs&nbsp;:</strong> fait tourner les teintes et règle la saturation ; utile pour changer globalement la palette (convertir les bleus en rouges, etc.).</li>
+  <li><strong>Intensité et Luminance&nbsp;:</strong> deux variations sur la luminosité. « Intensité » éclaircit ou assombrit sans simplement mélanger du blanc ou du noir, préservant mieux la saturation ; « Luminance » pousse les couleurs vers le blanc ou le noir. Subtil mais précieux en retouche photo.</li>
+  <li><strong>Normaliser&nbsp;:</strong> Ć©tire l’histogramme pour exploiter toute la plage tonale ; booste les noirs profonds et les blancs purs, amĆ©liorant le contraste (Ć©quivalent d’un Ā« Auto-contrast Ā»).</li>
+  <li><strong>Négatif&nbsp;:</strong> inverse les couleurs comme un négatif photo. LazPaint propose « Négatif » (corrigé gamma) et « Négatif linéaire » (sans gamma) pour des effets légèrement différents.</li>
+  <li><strong>Niveaux de gris&nbsp;:</strong> convertit l’image en gris en conservant la luminance perceptuelle (avec correction gamma).</li>
+  <li><strong>Ɖchanger les canaux&nbsp;:</strong> dans les opĆ©rations Filtre, on peut permuter des canaux (ex. Rouge/Bleu) pour corriger ou crĆ©er des effets. On trouve aussi le filtre Appliquer une fonction, qui accepte n’importe quelle Ć©quation sur les canaux (voir <a href="#filters">Filtres & effets</a>).</li>
+</ul>
+<p>Ces rƩglages ouvrent un dialogue avec curseurs ou courbes et prƩvisualisation. Les calculs se font en sRGB conscient du gamma ; les ajustements respectent donc la perception visuelle et Ʃvitent les artefacts. Sur une image indexƩe, certaines opƩrations peuvent accroƮtre le nombre de couleurs.</p>
+<p>En plus, LazPaint propose une barre Palette : charger / enregistrer des palettes, rƩduire une image Ơ une palette avec tramage ou effet postƩriser (depuis la v6.4.1). Pratique pour le pixel-art ou les formats limitƩs en couleurs. Associez une couleur Ơ un chiffre avec <strong>Ctrl</strong>+chiffre, puis rappelez-la simplement par le chiffre.</p>
+<p>La <strong>FenĆŖtre Couleur</strong> affiche une roue chromatique, des curseurs de luminance et d’opacitĆ©. L’icĆ“ne Ć  double flĆØche Ć©change couleur de stylo et d’arriĆØre-plan ; on peut aussi les rĆ©initialiser en tapant un nom de couleur. La pipette et le dessin au clic droit (couleur secondaire) permettent d’exploiter efficacement les deux couleurs. En rĆ©sumĆ©, le menu Couleurs et ses outils offrent un contrĆ“le puissant, des corrections subtiles aux changements radicaux.</p></div>
+
+<div class="columns"><h2 id="filters">Filtres & effets</h2>
+<p>Le menu <strong>Filtre</strong> de LazPaint propose de nombreux filtres Ć  appliquer sur un calque ou une sĆ©lection pour en modifier l’aspect de maniĆØre crĆ©ative. Ils vont des flous et renforcements aux distorsions et effets artistiques. Un filtre peut s’appliquer Ć  l’image entiĆØre ou uniquement Ć  la zone sĆ©lectionnĆ©e. Voici les principales catĆ©gories :</p>
+<ul>
+  <li><strong>Filtres de flou :</strong> adoucissent l’image ou attĆ©nuent les dĆ©tails. LazPaint inclut le <em>Flou radial</em> (flou non directionnel qui rayonne vers l’extĆ©rieur ; variantes prĆ©cis, zoom ou Ā« corona Ā»), le <em>Flou de mouvement</em> (simule la traĆ®nĆ©e d’un objet en dĆ©placement) et mĆŖme un <em>Flou personnalisĆ©</em> basĆ© sur un masque ou un noyau fourni par l’utilisateur. Des flous plus simples (Flou rapide, Flou prĆ©cis) Ć©quilibrent vitesse et qualitĆ©. IdĆ©al pour lisser du bruit ou crĆ©er un effet de profondeur de champ.</li>
+  <li><strong>NettetĆ© & lissage :</strong> <em>NettetĆ©</em> augmente le contraste autour des bords pour rendre l’image plus claire ; <em>Lissage</em> (ou un flou de base) fait l’inverse, adoucissant et fusionnant les pixels. ComplĆ©mentaires : un lĆ©ger sharpen sauve une image floue, un smooth adoucit un grain ou des contours trop durs. Attention Ć  ne pas trop pousser l’un ou l’autre (halo ou perte de dĆ©tail).</li>
+  <li><strong>Filtres de bruit :</strong> ajoutent ou rĆ©duisent le bruit. <em>Ajouter du bruit</em> disperse des pixels alĆ©atoires colorĆ©s (grain argentique). Le filtre <em>MĆ©diane</em> supprime le bruit en remplaƧant chaque pixel par la couleur mĆ©diane de ses voisins ; efficace contre le Ā« sel et poivre Ā» tout en prĆ©servant mieux les bords qu’un flou simple.</li>
+  <li><strong>Effets artistiques / de contour :</strong> LazPaint propose des filtres uniques. <em>Contour</em> crĆ©e un tracĆ© style croquis en conservant les arĆŖtes sur fond blanc. <em>Embossage</em> donne un relief 3D en transformant les couleurs en gris et en ombrant les bords. <em>ClearType</em> (et son inverse) imite le sous-pixel d’affichage du texte – effet de niche. <em>Appliquer une fonction</em> est un filtre avancĆ© permettant d’appliquer n’importe quelle fonction mathĆ©matique aux canaux couleur (pratique pour des courbes personnalisĆ©es).</li>
+  <li><strong>Distorsions :</strong> dĆ©forment la gĆ©omĆ©trie. <em>Torsion</em> (<em>Twirl</em>) enroule l’image autour d’un centre. <em>Ondulation</em> (<em>Wave Displacement</em>) fait onduler l’image comme des vagues (amplitude & frĆ©quence rĆ©glables). <em>SphĆØre</em> bombe l’image comme sur une sphĆØre ; <em>Cylindre</em> l’enroule sur un cylindre. Utiles pour des effets miroir dĆ©formant ou prĆ©parer des textures destinĆ©es au mapping 3D.</li>
+  <li><strong>Génération (Render) :</strong> outre les filtres de modification, le menu <strong>Générer</strong> crée des contenus ou motifs. Par exemple : <em>Bruit de Perlin</em> pour une texture nuageuse naturelle ; <em>Eau</em>, <em>Neige</em>, <em>Bois</em>, <em>Métal</em>, <em>Pierre, Marbre</em> génèrent les textures correspondantes ; <em>Nuages</em> ajoute un bruit coloré façon ciel ; <em>Pluie</em> trace des filets simulant une averse. Pratique pour des fonds ou effets spéciaux : pluie sur un calque distinct en mode éclaircissant, par exemple. Certains de ces effets créent un nouveau calque éditable.</li>
+</ul>
+<p>Les filtres peuvent transformer radicalement l’image ; travaillez donc sur des calques dupliquĆ©s pour rĆ©gler l’opacitĆ© ou masquer l’effet. Vous pouvez aussi combiner plusieurs filtres : la documentation montre, par exemple, comment crĆ©er un Ć©clair en superposant deux bruits de Perlin en mode DiffĆ©rence puis en colorisant en bleu. Avec les annulations et les calques, expĆ©rimentez sans risque. Enfin, les filtres respectent la sĆ©lection : sĆ©lectionnez d’abord la zone concernĆ©e pour cibler l’effet (flouter l’arriĆØre-plan tout en conservant un sujet net, par exemple).</p></div>
+
+<div class="columns"><h2 id="advanced">Fonctions avancƩes</h2>
+<p><strong>Calques et formes vectoriels&nbsp;:</strong> Depuis la version 7, LazPaint gĆØre les Ć©lĆ©ments vectoriels. Lorsque vous dessinez une forme ou du texte, l’objet peut rester vectoriel. L’outil <em>Ɖditer la forme</em> (icĆ“ne curseur) permet ensuite de dĆ©placer l’objet ou de modifier ses nœuds. Ainsi, on peut corriger la taille d’un rectangle ou l’orthographe d’un texte aprĆØs coup. Les formes acceptent aussi des remplissages en dĆ©gradĆ© ou texture ; choisissez le style de remplissage dans les options de l’outil : couleur unie, dĆ©gradĆ© (dĆ©finissez couleurs de dĆ©part et d’arrivĆ©e puis faites glisser la ligne de dĆ©gradĆ©) ou motif image. Des outils d’alignement facilitent l’alignement des objets vectoriels dans la page. Les calques vectoriels peuvent ĆŖtre exportĆ©s en SVG : LazPaint Ć©crit un SVG multi-calques où formes et textes restent Ć©ditables dans Inkscape, par exemple. Inversement, vous pouvez importer du contenu SVG. Ces capacitĆ©s font de LazPaint un Ć©diteur hybride raster-vecteur assez unique dans sa catĆ©gorie.</p>
+<p><strong>Import d’objets 3D&nbsp;:</strong> LazPaint sait importer des modĆØles Wavefront <code>.obj</code>. Via <em>Fichier › Importer un objet 3D…</em>, choisissez le fichier, l’orientation, l’angle et l’éclairage ; le modĆØle est alors rendu en pixels sur un calque. Pratique pour intĆ©grer un lettrage 3D ou une forme simple dans un montage. Les textures et normales personnalisĆ©es sont prises en compte. Une fois importĆ©, l’objet n’est plus que des pixels ; choisissez donc l’angle et la lumiĆØre avant l’import, ou rĆ©importez-le sous plusieurs angles si besoin.</p>
+<p><strong>Scripts Python&nbsp;:</strong> Pour les utilisateurs avancĆ©s, le menu <em>Script</em> donne accĆØs au scripting Python. Des scripts prĆŖts Ć  l’emploi apportent des effets classiques de calque (<em>Ombre portĆ©e, Contour, Lueur interne/externe</em>…). Par exemple, Ā« Ombre portĆ©e Ā» duplique le calque, le noircit et le dĆ©cale automatiquement. Vous pouvez Ć©crire vos propres scripts : manipuler calques, appliquer filtres, gĆ©nĆ©rer des images procĆ©durales, etc. Placez le <code>.py</code> dans le dossier scripts ; il apparaĆ®t alors dans le menu. Consultez la doc ou la communautĆ© pour l’API dĆ©taillĆ©e.</p>
+<p><strong>Utilisation en ligne de commande&nbsp;:</strong> LazPaint peut s’exĆ©cuter sans interface graphique pour convertir ou traiter des images en batch. Syntaxe gĆ©nĆ©rale : <code>lazpaint &lt;entrĆ©e&gt; [commandes…] [sortie]</code>. Exemple : <code>lazpaint photo.pdn photo.png</code> convertit un fichier Paint.NET en PNG. Les commandes, prĆ©fixĆ©es par <code>-</code> (ou <code>/</code> sous Windows), enchaĆ®nent des opĆ©rations : <code>/RotateCW</code> (90° horaire), <code>/horizontalflip</code>, <code>/Resample(800,600)</code>, <code>/opacity(128)</code>, etc. On peut chaĆ®ner : <code>lazpaint in.jpg /RotateCCW /BlurFast out.png</code>. Sans fichier de sortie, LazPaint exĆ©cute puis ouvre le rĆ©sultat dans l’interface. On peut aussi crĆ©er une image : <code>lazpaint /New(800,600) /Gradient(255,255,255,255,0,0,0,255,Linear,0,0,800,600) gradient.png</code>. C’est un Ć©quivalent lĆ©ger d’ImageMagick pour les tĆ¢ches simples. Pour la liste complĆØte, lancez <code>lazpaint -help</code> ou consultez le <a href="https://wiki.freepascal.org/LazPaint_Command_line">wiki</a>.</p></div>
+
+<div class="columns"><h2 id="shortcuts">Raccourcis clavier</h2>
+<p>LazPaint propose des raccourcis pour la plupart des commandes afin d’accĆ©lĆ©rer votre travail. Beaucoup figurent directement dans les menus Ć  droite du nom de la commande (par exemple, dans le menu Fichier : <em>Ctrl + O</em> pour Ouvrir, <em>Ctrl + S</em> pour Enregistrer, etc.). Les conventions habituelles sont respectĆ©es : <strong>Ctrl + Z</strong> pour Annuler, <strong>Ctrl + Y</strong> (ou Ctrl + Shift + Z) pour RĆ©tablir, <strong>Ctrl + C</strong> pour Copier, <strong>Ctrl + V</strong> pour Coller, <strong>Suppr</strong> pour effacer une sĆ©lection ou un calque (si celui-ci est actif), et ainsi de suite. En plus, voici quelques raccourcis et astuces souris moins Ć©vidents :</p>
+
+<ul>
+  <li><strong>Barre d’espace (Panoramique) :</strong> maintenez-la pour passer temporairement Ć  l’outil Main et faire dĆ©filer la vue. RelĆ¢chez pour revenir Ć  l’outil prĆ©cĆ©dent — pratique quand on peint au pinceau et qu’on veut se dĆ©placer rapidement sur l’image.</li>
+  <li><strong>F6 (Afficher / masquer les panneaux) :</strong> cache ou rĆ©vĆØle d’un coup toutes les fenĆŖtres flottantes (BoĆ®te Ć  outils, Calques, Couleurs…). IdĆ©al pour un espace de travail Ć©purĆ© ou pour retrouver un panneau fermĆ© par erreur.</li>
+  <li><strong>Ctrl (Transformations prĆ©cises) :</strong> pendant une rotation ou un redimensionnement avec poignĆ©es, maintenir <strong>Ctrl</strong> contraint l’opĆ©ration : la rotation se cale par pas de 15°, le dĆ©placement s’aligne au pixel.</li>
+  <li><strong>Shift (Contraindre formes / lignes) :</strong> maintenez <strong>Shift</strong> lors du dessin d’une forme pour conserver le ratio (cercle ou carrĆ© parfait). Dans l’outil d’édition de forme, <strong>Ctrl</strong> ajoute ou retire des Ć©lĆ©ments Ć  la sĆ©lection vectorielle. Avec les outils polygone/courbe, <strong>Shift</strong> permet d’ajouter un nouveau polygone lié — utile pour crĆ©er un trou (Ć  tracer dans le sens inverse).</li>
+  <li><strong>Retour arriĆØre (Supprimer le dernier point / texte) :</strong> en dessin polygonal, supprime le dernier sommet placĆ© ; dans l’outil Texte, efface le caractĆØre prĆ©cĆ©dent.</li>
+  <li><strong>EntrĆ©e (Valider sĆ©lection / transformation) :</strong> confirme l’action en cours ; par exemple, termine un dĆ©placement ou une transformation.</li>
+  <li><strong>Esc (Annuler / dĆ©sĆ©lectionner) :</strong> interrompt l’action ou ferme une boĆ®te de dialogue. Si une sĆ©lection est active et qu’aucune manipulation n’est en cours, <strong>Esc</strong> la dĆ©sactive.</li>
+  <li><strong>Clic droit (Action secondaire) :</strong> dans les outils de dessin, peint avec la couleur d’arriĆØre-plan ; dans les outils de sĆ©lection, soustrait de la sĆ©lection ; dans le Tampon de clonage, dĆ©finit le point source ; dans certaines formes ombrĆ©es, fixe la direction de la lumiĆØre.</li>
+  <li><strong>Molette de souris :</strong> dƩfilement pour zoomer/dƩzoomer ; clic molette + glisser pour dƩplacer la vue (si supportƩ).</li>
+  <li><strong>Raccourcis d’outil (touche unique) :</strong> <strong>B</strong> pour Pinceau, <strong>E</strong> pour Gomme, <strong>T</strong> pour Texte, etc. Les bulles d’aide ou le menu rappellent ces lettres et permettent un changement d’outil ultra-rapide.</li>
+</ul>
+<p>En mĆ©morisant ces raccourcis, vous accĆ©lĆ©rerez considĆ©rablement vos retouches. Les info-bulles et la barre d’état les rappellent souvent. En cas d’oubli, consultez le menu ou cette documentation. Avec un peu de pratique, l’usage combinĆ© clavier-souris devient naturel et efficace.</p></div>
+
+<div class="columns"><h2 id="faq">FAQ (Frequently Asked Questions)</h2>
+<dl>
+  <dt><strong>Q: How do I install or update LazPaint?</strong></dt>
+  <dd><strong>A:</strong> Installation is straightforward. For Windows, run the installer and follow the prompts (it’s a small program and doesn’t bundle unwanted extras). For the portable version, just unzip it to a folder and run <code>LazPaint.exe</code>. On Ubuntu/Debian Linux, you can download the <code>.deb</code> package and double-click it to install, or use the command line (with <code>dpkg -i</code> command). Other Linux users can use Flatpak on Flathub or Snap, or compile from source. On macOS, there is a DMG – open it and drag LazPaint to Applications. To update, you’ll typically download the new version and install it over the old one (settings should carry over). Check the LazPaint blog or GitHub releases for update announcements.</dd>
+  <dt><strong>Q: What file formats can LazPaint open and save?</strong></dt>
+  <dd><strong>A:</strong> LazPaint supports a wide range of formats:<br>
+  <ul>
+  <li><strong>Native/project format:</strong> <code>.LZP</code> (LazPaint Project) – preserves layers, transparency, etc.</li>
+  <li><strong>Layered formats:</strong> <code>.ORA</code> (OpenRaster) for interoperability, <code>.PDN</code> (Paint.NET) for which LazPaint can import all layers, <code>.PSD</code> (Photoshop) which LazPaint can open as flattened, and <code>.oXo</code>.</li>
+  <li><strong>Standard image formats:</strong> PNG, JPEG, BMP, GIF, TIFF, WebP, PCX, TGA, XPM, XWD, etc. – LazPaint can read and write these. Note: For GIF and TIFF, LazPaint can handle multi-frame images (e.g., animations or multi-page TIFFs). ICO/CUR (icons and cursors) are supported too (LazPaint can create multi-resolution icons).</li>
+  <li><strong>3D formats:</strong> LazPaint imports Wavefront <code>.OBJ</code> models (rasterizing them to an image layer). It does not export 3D, so this is input only.</li>
+  </ul>
+  In summary, you can open almost any common image. When saving, choose LZP if you need to keep layers for future editing. Use PNG if you need lossless output with transparency, JPEG for small files (photographs), ORA if you plan to transfer the file to another layered editor, etc. One thing to note: when saving to formats like BMP or GIF that have limited color depth, LazPaint will prompt options (e.g., BMP 24-bit vs 8-bit). If an image has too many colors to save in a paletted format, you may need to reduce the colors (for example, use Posterize or convert to grayscale first). LazPaint’s flexibility with formats is a strong point – you’ll rarely find a format it can’t handle in some way.</dd>
+  <dt><strong>Q: Does it support transparency (alpha channel)? My eraser isn’t making things transparent.</strong></dt>
+  <dd><strong>A:</strong> Yes, LazPaint fully supports transparency on layers. If the eraser isn’t making areas transparent, it could be because there is an underlying opaque background layer. In LazPaint, when you create a new image, you have the option of a solid background or transparent. Alternatively, you can use selections: select the region you want to make transparent and hit <strong>Delete</strong>.</dd>
+  <dt><strong>Q: I lost my Layers/Colors/Tools windows. They disappeared – how do I get them back?</strong></dt>
+  <dd><strong>A:</strong> They might just be hidden or behind the main window. The quickest way to bring all panels back is to press <strong>F6</strong>, which toggles the visibility of the tool windows. If that doesn’t bring them back, go to the <em>View</em> menu and ensure ā€œLayers Windowā€, ā€œColors Windowā€, ā€œToolboxā€ (or similarly named items) are checked or click them to re-open. LazPaint allows floating these panels freely, so it’s possible they got moved off-screen if you had a multi-monitor setup; F6 on/off can reset their state. If you prefer these panels to not float, you can dock them into the main window in the View menu.</dd>
+  <dt><strong>Q: How can I crop the image to a certain area?</strong></dt>
+  <dd><strong>A:</strong> Currently, LazPaint doesn’t have a dedicated ā€œCrop Toolā€ button like some editors, but cropping is easy via selection. Use the rectangular selection tool to select the area you want to keep. Then go to <em>Image > Crop to selection</em>. That will cut the canvas down to that selection. Make sure you have the area exactly selected first. If you want to crop by exact numbers, you could use <em>Canvas Size</em> and manually input the new size, but using the selection is more visual. Once cropped, everything outside the area is discarded. If you accidentally crop too much, just undo (Ctrl+Z) and try again. Pro tip: if you want to extend the canvas (the opposite of crop, to add border area), use <em>Image > Canvas Size</em> and enter a larger size – you’ll get empty space (transparent or filled with a color depending on background) around your image.</dd>
+  <dt><strong>Q: How do I draw a straight line or a perfect circle?</strong></dt>
+  <dd><strong>A:</strong> To draw a straight line, the easiest way is to use the Polyline or Curve tool. Click (left or right) the starting point and right-click the end point. For a perfect circle or square, start drawing an ellipse or rectangle and hold <strong>Shift</strong> while dragging – this locks the aspect ratio to 1:1 (a circle or square).</dd>
+  <dt><strong>Q: The quality of my image got worse after resizing/rotating – can I avoid that?</strong></dt>
+  <dd><strong>A:</strong> When you resize or rotate a raster image, some quality loss (blurriness) can happen due to interpolation of pixels. LazPaint uses resampling algorithms to minimize this, but multiple transformations can compound errors. To avoid quality loss: try to do scaling in one go to the final size (rather than repeated rescale down then down again). For rotation, 90° rotations are lossless (since pixels realign), but arbitrary angles will blur slightly. One strategy: if you have vector shapes or a source with higher resolution, use those. LazPaint’s vector layers, for instance, can be transformed without losing quality, so if you know you’ll need to rotate a shape, keep it vector until you finalize. Also, LazPaint’s undo allows you to experiment – if you rotated something and it looks bad, undo and try a different approach (maybe rotate before scaling, or vice versa). In summary, the algorithms are good but not magic; avoid successive transforms on the same pixels. If needed, go back to the original and do a single transform to target. And for critical photo work, use the highest quality resample option.</dd>
+  <dt><strong>Q: Are there any tutorials or documentation for learning LazPaint?</strong></dt>
+  <dd><strong>A:</strong> Yes, beyond this help page, there are several resources. There’s also an official forum where the developer and users discuss usage tips – you can search or ask questions there. The LazPaint blog introduces new features with examples (for instance, posts about using blending modes to create lightning, or new gradient tools). Additionally, there are a few video tutorials on YouTube that demonstrate LazPaint’s interface and basic drawing operations (search for ā€œLazPaint tutorialā€ on YouTube). Since LazPaint shares some similarities with Paint.NET, tutorials for that program can sometimes be applied in LazPaint (for example, how layers and blend modes work, or basic photo editing steps). And of course, you can reach out via the project’s <a href="https://github.com/bgrabitmap/lazpaint">GitHub page</a> if you encounter bugs or have suggestions. The community is small but friendly, and the developer is active in responding to feedback.</dd>
+</dl></div>
+
+<h2 id="resources">Ressources utiles</h2>
+<p>Pour plus d’informations ou d’aide, consultez ces ressources officielles&nbsp;:</p>
+<ul>
+  {{ $pdf := "pdf/lazpaint-tips-assets.pdf" | relURL -}}
+  <li><a href="{{ $pdf }}">Astuces et ressources</a> – Un PDF rĆ©digĆ© par Love (membre de la communautĆ©) contenant plein d'astuces et de liens vers des images Ć  inclure.</li> 
+  <li><a href="https://forum.lazarus.freepascal.org/index.php?board=27.0">Forum LazPaint</a> – Espace communautaire (hĆ©bergĆ© sur le forum Lazarus) pour poser vos questions, signaler des problĆØmes ou partager vos expĆ©riences avec les autres utilisateurs et le dĆ©veloppeur.</li>
+  <li><a href="https://github.com/bgrabitmap/lazpaint">DĆ©pĆ“t GitHub de LazPaint</a> – Code source et suivi des tickets. IdĆ©al pour signaler un bug, demander une fonctionnalitĆ© ou contribuer au projet.</li>
+  <li><a href="https://www.youtube.com/results?search_query=LazPaint+tutorial">YouTube : tutoriels et dĆ©monstrations LazPaint</a> – Recherche YouTube pour trouver des vidĆ©os pĆ©dagogiques ou des dĆ©monstrations faites par la communautĆ©.</li>
+  <li><a href="https://lazpaint.blogspot.com/">Blog officiel LazPaint</a> – Articles du dĆ©veloppeur prĆ©sentant les nouveautĆ©s et donnant des astuces (par exemple, explications des changements de version).</li>
+  <li><a href="https://wiki.freepascal.org/LazPaint">Wiki LazPaint</a> – Documentation complĆØte : fonctionnalitĆ©s, spĆ©cifications de formats, tutoriels et rĆ©solution de problĆØmes.</li>
+</ul>
+<p>Avec ce guide et les ressources ci-dessus, vous avez tout pour maĆ®triser LazPaint. C’est un outil polyvalent qui fait le pont entre dessin simple et Ć©dition avancĆ©e. Bonne crĆ©ation !</p>
+</main>
+
+</main>
+{{ partial "footer.html" . }}

+ 166 - 0
web/layouts/page/documentation.html

@@ -0,0 +1,166 @@
+{{ partial "header.html" . }}
+<main id="main" class="doc">
+
+<div>
+    <a class="button" href="#interface">Interface Overview</a>
+    <a class="button" href="#tools">Basic Tools</a>
+    <a class="button" href="#selection">Selection Tools</a>
+    <a class="button" href="#layers">Layers</a>
+    <a class="button" href="#transforms">Transformations</a>
+    <a class="button" href="#colors">Color Adjustments</a>
+    <a class="button" href="#filters">Filters and Effects</a>
+    <a class="button" href="#advanced">Advanced Features</a>
+    <a class="button" href="#shortcuts">Keyboard Shortcuts</a>
+    <a class="button" href="#faq">FAQ</a>
+    <a class="button" href="#resources">Further Resources</a>
+</div>
+
+<div class="large-columns"><h2 id="interface">Interface Overview</h2>
+<p>LazPaint features a hybrid single window interface / multi-window interface with a main drawing canvas. The toolbox, color picker and layer stack can be separated as floating panels. Each of these panels can be toggled from the <em>View</em> menu (or by pressing <strong>F6</strong> to show/hide all tool windows at once). A dark theme for the interface is available if you prefer a darker UI. Menu options are laid out similarly to other image editors (with menus like File, Edit, Select, View, Image, Colors, Tools, Filter, Render, Script, Help along the top). Common actions are also accessible via a toolbar of icons. At the bottom, a status bar displays hints (for example, it shows tool usage tips or selection dimensions). Overall, the interface is designed to be familiar and easy to navigate for beginners.</p>
+{{ $img := "img/lazpaint-interface.png" | relURL -}}
+<center><img src="{{ $img }}" style="width: 50em; max-width: 100%" /></center></div>
+
+<div class="columns"><h2 id="tools">Basic Tools</h2>
+<p>LazPaint provides a variety of drawing and editing tools, accessible from the vertical toolbox (usually on the left side of the screen). Below is an overview of the basic tools and their usage:</p>
+<ul>
+  <li><strong>Brush/Pen Tool:</strong> This freehand drawing tool lets you paint on the canvas with the selected color. You can choose the brush shape and size (even load custom brush images). The brush can have softness (opacity gradient) for smooth edges. Use it to draw lines or any strokes.</li>
+  <li><strong>Eraser Tool:</strong> Erases parts of the image. The eraser will make pixels transparent (showing a checkerboard background). LazPaint’s eraser can operate in different modes (e.g. you can set it to lighten or darken instead of fully erasing, for special blending effects). Adjust the eraser size and opacity as needed. This is useful for removing unwanted areas or softly blending edges.</li>
+  <li><strong>Fill Tool (Bucket):</strong> Fills a contiguous area with the current foreground color. Click on a region and the tool will replace that region’s color (within a tolerance) with the selected fill color. It’s great for coloring in shapes or backgrounds. You can adjust the tolerance setting to control how similar neighboring pixels must be to get filled (higher tolerance fills a broader range of colors). Progressive mode can be toggled in the toolbar: when enabled the shape color will be affected as its color becomes different from the initial point.</li>
+  <li><strong>Shape Tools:</strong> LazPaint allows you to draw vector shapes such as rectangles, ellipses, polygons, and curves. These shape tools create a new vector layer or object that remains editable (you can move/resize it later without quality loss). For rectangles and ellipses, simply click-and-drag to draw the shape; hold <strong>Shift</strong> to constrain to a perfect square or circle. For polygons or poly-lines, click multiple points to create straight segments (<strong>Backspace</strong> will remove the last point if you make a mistake while drawing). For curves (Bezier-like curves), click the main points and the curve will adapt to it (at a given point, you can set if the curve should be round by pressing <strong>S</strong> or make an angle by pressing <strong>X</strong>). To finish a polygon or curve, you can right-click or click the first point again. You can set shape fill to solid color, gradient, or texture, and apply outline strokes or shadows (see <a href="#advanced">Advanced Features</a> for more on vector shapes).</li>
+  <li><strong>Text Tool:</strong> Allows you to insert text into your image. Click on the canvas to define the area and type to create a text object. You can choose font, size, style, alignment, and color. The text is placed as a vector object, so you can re-edit the content or style by selecting the text shape later. LazPaint also supports special text effects like outline or Phong shading (highlight and inner shadow) through the toolbar. Pressing <strong>Esc</strong> while using the Text tool can finish editing mode once you’re done typing, while <strong>Enter</strong> will add a new paragraph, with a vertical margin. Press <strong>Shift+Enter</strong> to insert a line break, without margin.</li>
+  <li><strong>Color Picker (Eyedropper):</strong> This tool lets you sample colors from the image. Click (or click-and-hold) on any pixel to pick up its color into the primary color slot (called ā€œPenā€ color). In LazPaint, the secondary color (background or ā€œBackā€ color) can be picked by using the alternate click (for example, right-click with the picker to set the secondary color). This is useful for matching colors already in your image. You can quickly switch to the eyedropper by pressing <strong>C</strong>.</li>
+  <li><strong>Clone Stamp Tool:</strong> A handy retouching tool that allows you to copy pixels from one part of the image to another (useful for removing blemishes or duplicating objects). To use it, first <strong>right-click</strong> on the area you want to copy <em>from</em> (this sets the source point). Then left-click and draw where you want to paint the cloned content. The source moves as you paint, copying from the original area to the new area. If you need to reset the source, right-click again on a new source point. This works across layers too (ensure you have the correct layer selected when setting the source).</li>
+  <li><strong>Selection Tools:</strong> These tools (detailed in the <a href="#selection">Selection Tools</a> section) let you select specific regions of the image for editing. LazPaint offers rectangular selection, elliptical selection, free-form lasso, polygon selection, and a magic wand. Once a selection is made, other tools will draw in a temporary selection layer, only affecting that area. Selections can be inverted or adjusted.</li>
+  <li><strong>Move Tool:</strong> The move tool lets you move the current selection or layer content. After making a selection, choose the selection move tool and drag the selection to reposition that portion of the image. If a whole layer is selected in the Layers panel, the move tool will shift that layer. This tool is essential for arranging elements in a composition.</li>
+  <li><strong>Hand Tool (Pan):</strong> Represented by a hand icon, it allows you to pan around the canvas without editing. Click and drag with the Hand tool to scroll the view. This is especially helpful when you're zoomed in and want to navigate. You can as well start editing a shape or moving the current layer by clicking on it. You don’t actually need to switch to the Hand tool frequently, because you can hold the <strong>Space bar</strong> at any time to temporarily toggle the hand mode for panning (release <strong>Space</strong> to return to the previous tool).</li>
+  <li><strong>Zoom Controls:</strong> LazPaint provides zoom in/out buttons (magnifying glass icons with +/–). You can also zoom with the mouse wheel. Holding <strong>Ctrl</strong> will apply a finer zoom. There are one-click buttons for 100% (actual size) and ā€œfit to windowā€ zoom. Zooming does not alter the image data, only your view. The toolbar will show the current zoom level and coordinates of the cursor which can be helpful for precision work.</li>
+</ul>
+<p>Most tools have an options toolbar that gets appended at the top when selected, allowing you to adjust settings like opacity, size, tolerance, etc. Be sure to check those context options to get the desired effect from each tool. With a bit of practice, these tools enable both simple drawings and more complex image editing tasks.</p></div>
+
+<div class="columns"><h2 id="selection">Selection Tools</h2>
+<p>Selection tools allow you to define and work on a specific part of the image. LazPaint supports anti-aliased selections for smooth edges and semiselection, and you can even modify a selection as a mask. The selection content can be edited like an temporary layer. When a portion is semiselected, the content will be drawn with as semiopaque. The main selection tools include:</p>
+<ul>
+   <li><strong>Rectangular & Elliptical Selection:</strong> Click and drag to select a rectangular or oval region. You can see the selection outline with a bevel while the selection is highlighted in blue. Hold <strong>Shift</strong> while dragging to constrain the shape to a square or circle. Use this to quickly select large areas, borders or round shapes.</li>
+   <li><strong>Polygon Selection:</strong> Similar to the lasso but in straight line segments. Click to place corner points one by one; a line will connect each point. Use this for selecting polygonal or irregular shapes with straight edges. If you need to remove the last point while drawing, press <strong>Backspace</strong>. To finish, either click on the starting point or right-click to close the polygon automatically (closing connects back to the start).</li>
+   <li><strong>Curve Selection:</strong> This lets you draw a selection similary to Polygon Selection but with Bezier-like curve that adapt to the points.</li>
+   <li><strong>Magic Wand:</strong> Select an area by color similarity. Click on a pixel and the magic wand will select all neighboring pixels of similar color (the tolerance for similarity can be adjusted in the tool’s options). This is great for selecting a solid-colored background or any region with consistent color without tracing it manually. If the ā€œProgressiveā€ option is on, the border will be antialiased or semiselected.</li>
+   <li><strong>Selection Pen:</strong> LazPaint also allows treating the selection as a mask that you can paint on. You can paint the selection area (displayed as a translucent overlay). This can be very precise for complex selections. This is an advanced but powerful way to refine selections.</li>
+   <li><strong>Edit Selection:</strong> A dedicated ā€œselection editorā€ can be opened with Edit Selection menu item. It shows selection as a grayscale image (white = selected, black = not selected, gray = semiselected).</li>
+</ul>
+<p>Once a selection is made, other operations will only affect that selected area. You can also move or transform the selection itself. For instance, choose the Move tool to drag the selected area to a new location. Various transformations are available in the Selection menu. If you intend to adjust the transform, it is recommended to paste it in a new layer and use layer transforms. To cancel current transformation, press <strong>Esc</strong>. To deselect, press <strong>Enter</strong>: this ā€œreleasesā€ the selection, merging it over current layer.</p>
+<p>You can modify an existing selection by adding or subtracting areas. Uniquely, in LazPaint you can also use the right mouse button to subtract from a selection without changing modes. This makes it easy to refine your selection shape. Remember that any filter or paint action will only affect the area within the ā€œselectionā€ outline once you have an active selection.</p></div>
+
+<div class="columns"><h2 id="layers">Layer Support</h2>
+<p>Like advanced editors, LazPaint fully supports multiple layers in an image. The <strong>Layers</strong> panel (or window) shows all layers in the current image, each acting like a transparent sheet stacked on others. Using the layer toolbar or the main menu, you can add new layers, duplicate a layer, delete layers, and rearrange them by dragging up or down in the list. Each layer has an checkbox icon to toggle visibility and an opacity percentage slider to adjust its transparency. There’s also a dropdown for blend mode (default is ā€œNormalā€). Blend modes allow layers to mix in different ways (like Multiply, Additive, etc.). LazPaint offers several blending modes, including some unique to this program. Using layers, you can draw or edit parts of your image separately without affecting others, enabling non-destructive editing.</p>
+<p>LazPaint supports both <em>raster</em> and <em>vector</em> layers in the same image. A raster layer is a normal bitmap layer (pixels), while a vector layer contains shapes or text that can be edited after creation. For example, if you use the Shape or Text tool, LazPaint will keep that object’s vector information on the layer so you can adjust it later (e.g., change the text or reshape the curve). These vector objects are re-rendered if you transform the layer, ensuring they stay sharp. If you then use a pixel-based tool (like the brush) on that layer, LazPaint will rasterize it, meaning it converts the vector shapes into pixels on the layer (at that point you can’t edit the shape’s properties anymore). In practice, LazPaint handles this automatically – just be mindful that once you paint on a vector layer, it becomes a regular raster layer.</p>
+<p>Basic layer operations include:</p>
+<ul>
+	<li><strong>Rename a layer:</strong> Click the layer name in the panel to name it (helpful for organization).</li>
+	<li><strong>Reorder:</strong> Drag layers in the list to change which one is on top.</li>
+	<li><strong>Opacity:</strong> Adjust the layer’s transparency (0% = fully transparent, 100% = fully opaque).</li>
+	<li><strong>Blend Mode:</strong> Set how the layer blends with those below (e.g., ā€œMultiplyā€ for darkening, ā€œScreenā€ for lightening, etc.). You can click a blend mode button to get a visual selection dialog or choose from a dropdown list.</li>
+	<li><strong>New/Delete:</strong> Add a layer (it will be blank or you can paste into it) or delete the selected layer.</li>
+</ul>
+<p>There are also commands to <strong>Flatten</strong> the image (merge all layers into one, e.g. when you need to save to formats that don’t support layers) and to <strong>Merge</strong> down (combine a layer with the one below it). Flattening will discard any hidden layers and just produce a single-layer image. LazPaint’s native <code>.LZP</code> format is recommended for saving your work in progress, as it preserves layers, transparency, and other metadata. You can later export to a standard format (like PNG or JPG) for sharing. Additionally, LazPaint can save to OpenRaster <code>.ORA</code> format, which means you can open your layered image in other software that supports ORA. This is great for interoperability (for example, you could start a painting in LazPaint and then fine-tune it in Krita or GIMP, or vice versa). LazPaint also imports Paint.NET files (<code>.pdn</code>). Overall, layers are one of the most powerful features of LazPaint – use them to separate your work into manageable pieces (sketch, color fills, shading, etc.) which you can edit independently.</p></div>
+
+<div class="columns"><h2 id="transforms">Transformations</h2>
+<p>LazPaint provides various commands and tools to transform your image or layers. Common transformation operations are found under the <em>Image</em> menu or <em>Layer</em> toolbar. For example, you can rotate the entire image 90° clockwise or counter-clockwise, or flip it horizontally/vertically. These operations affect all layers (if it’s the whole image) or just the selected layer (if you use the Layer transform). You can also rotate by arbitrary angles or resize layers via interactive tools.</p>
+<p><strong>Scaling/Resizing:</strong> To resize the whole image, use <em>Image > Resample</em> and enter new dimensions. LazPaint uses resampling algorithms to preserve quality when shrinking or enlarging images. There is also a <em>Canvas Size</em> function which lets you expand or crop the canvas without scaling the content (for example, to add borders or trim edges). If you want to scale a specific layer or selection, you might use the selection transform tool or copy the selection to a new image, resize, and paste back.</p>
+<p><strong>Rotation:</strong> For quick 90-degree turns, use the menu commands. For free rotation, LazPaint has a rotation tool – select the layer (or selection), then choose the rotate function. A bounding box appears, allowing you to drag to rotate. Hold <strong>Ctrl</strong> while rotating to snap to common angles (15° increments). This is useful for precise straightening. Once the desired angle is set, press <strong>Enter</strong> to apply the rotation (or Esc to cancel). Rotating a vector shape layer will not degrade its quality (it re-renders the shape). Rotating a raster layer multiple times will not cause blurring due to re-sampling, as long as it is not re-rasterized by using the pen tool for example. So try to separate parts for which you intend to adjust transforms continuously.</p>
+<p><strong>Moving:</strong> The Move tool (as described in Basic Tools) is used to shift layer contents or selections. You can also use arrow keys for nudging the selection or layer by small increments (1px per press, 10px if holding <strong>Ctrl</strong>, and align to the border if holding <strong>Alt</strong>). This is handy for fine positioning, such as aligning an object.</p>
+<p><strong>Advanced Transform Tools:</strong> LazPaint 7 introduced some sophisticated transform tools. The <em>Layer Perspective</em> tool allows you to take a layer and adjust its corner perspective – for instance, to make an image appear as if it’s tilted or receding in 3D space. You’d drag the corners of a grid on the layer to skew it. Another feature is the <em>Deformation Grid</em> (warp) tool, which gives you a mesh over the image that you can drag points on to warp the image smoothly (good for subtle photo corrections or artistic morphs). There is also a <em>Zoom Layer</em> tool that can scale a layer via a handle interface. These tools make LazPaint capable of complex transformations typically found in larger programs.</p>
+<p>Keep in mind that you can always Undo (<em>Ctrl+Z</em>) if a transformation doesn’t turn out right. LazPaint supports up to 200 undo steps by default, so you have a lot of freedom to experiment. Use transformations to position and tweak your image elements until you get the desired result.</p></div>
+
+<div class="columns"><h2 id="colors">Color Adjustments</h2>
+<p>LazPaint offers many color manipulation functions under the <strong>Colors</strong> menu (sometimes called Adjustments). These allow you to correct or alter the colors of your image or layer. Some key color adjustments include:</p>
+<ul>
+  <li><strong>Brightness/Contrast:</strong> A basic adjustment to make the image brighter or darker, and to increase or decrease contrast. It’s straightforward: brightness shifts all colors lighter or darker, while contrast expands or compresses the difference between light and dark areas. Shortcut: <em>Shift+Ctrl+T</em> for brightness/contrast as shown in menu.</li>
+  <li><strong>Curves:</strong> A more advanced tool for tonal adjustment, letting you remap input brightness to output brightness via a curve graph. In LazPaint, you can adjust curves for RGB channels or even HSL channels. This allows very fine control (for example, brighten midtones without blowing out highlights, by dragging the mid section of the curve).</li>
+  <li><strong>Colorize:</strong> Impose a color tint on the image while preserving the luminosity. You can pick a hue and adjust saturation. For example, turning a grayscale image into a sepia-toned image is a use of colorize. It’s like applying a colored filter over the image.</li>
+  <li><strong>Posterize:</strong> Reduce the number of distinct colors in the image. You choose a level (e.g., 8 levels will reduce the image to 8 shades per channel, creating a stylized effect). This can give an image a flat, graphic look by limiting color gradients.</li>
+  <li><strong>Shift Colors:</strong> Rotate the hues of the image and adjust saturation. This is useful if, say, you want to change all blues to reds, etc., or generally alter the color palette of the image. It’s like a hue rotation across the spectrum.</li>
+  <li><strong>Intensity and Lightness:</strong> These are two different brightness-related adjustments. ā€œIntensityā€ in LazPaint makes colors lighter or darker without simply mixing with white or black (preserving saturation better). ā€œLightnessā€ does a similar brightening/darkening but by pushing colors toward white or black. The difference is subtle but important for photo editing. Experiment to see which fits your needs; they target brightness in slightly different ways.</li>
+  <li><strong>Normalize:</strong> Stretches the color histogram to use the full range of tones. If an image is low-contrast, normalize will boost the darkest value to pure black and the lightest to pure white, spreading out the intermediate values. This can improve contrast automatically, similar to ā€œAuto Contrastā€ in some software.</li>
+  <li><strong>Negative:</strong> Inverts the colors of the image – like a film negative. LazPaint offers ā€œNegativeā€ (which applies gamma correction so the inversion looks natural) and ā€œLinear Negativeā€ (inverts without gamma, giving a slightly different effect). This can be used for creative effects or analyzing complementary colors.</li>
+  <li><strong>Grayscale:</strong> Converts the image to grayscale (removes color). It uses a standard luminance calculation with gamma correction, meaning it tries to preserve perceived brightness. The result is an image with only shades of gray.</li>
+  <li><strong>Swap Channels:</strong> LazPaint has options (under Filter operations) to swap color channels. For instance, Swap Red/Blue will exchange the red and blue channel values. This can fix images with misinterpreted color channels or create odd color effects. There is as well the Apply function filter that can apply any arbitrary equation on color channels (see <a href="#filters">Filters and Effects</a>).</li>
+</ul>
+<p>Most of these adjustments open a dialog with sliders or curves and a preview. You can preview changes and tweak before applying. LazPaint processes colors in the sRGB color space with gamma awareness, so the adjustments are done in a way that matches how we perceive brightness (this avoids some artifacts that naive adjustments might create). In practice, that means using curves or intensity should feel ā€œcorrectā€ visually. If you are working with indexed colors (like a palette-based image), note that some operations might increase the color count.</p>
+<p>Aside from these, LazPaint also allows palette editing via a Palette toolbar (e.g., you can load/save color palettes, reduce image to a palette with dithering or posterize effect since version 6.4.1). This is especially useful for pixel art or preparing images for formats with limited colors. You can associate a color with a digit by holding <strong>Ctrl</strong> and pressing the digit on the keyboard. Then simply recall the color by pressing the digit again (without holding <strong>Ctrl</strong>).</p>
+<p>The <strong>Color Window</strong> is where you choose colors to draw with – it shows a color wheel, with sliders for luminance/opacity. You can swap the current pen and background color with the small double-arrow icon or reset them to a color by entering their name. LazPaint’s color picker tool and right-click drawing (which uses the secondary color) allow you to utilize both colors efficiently while drawing. In summary, the Colors menu and related tools give you powerful control over the look of your image, from subtle corrections to dramatic changes.</p></div>
+
+<div class="columns"><h2 id="filters">Filters and Effects</h2>
+<p>The <strong>Filter</strong> menu in LazPaint contains various filters that you can apply to a layer or selection to change its appearance in creative ways. Filters range from blurs and sharpens to distortions and artistic effects. You can apply a filter to the entire image or just to the current selection (only the selected area will be affected). Below are some categories of filters available:</p>
+<ul>
+  <li><strong>Blur Filters:</strong> These soften the image or reduce detail. LazPaint includes <em>Radial Blur</em> (a non-directional blur radiating outward, with options like precise, zoom or ā€œcoronaā€ blurs), <em>Motion Blur</em> (simulates the streaking of moving objects in one direction), and even a <em>Custom Blur</em> (which uses a mask or kernel you provide to blur in a custom pattern). There are also simpler blurs (fast blur, precise blur) which balance speed vs quality. Use blur filters to smooth out noise or create depth-of-field effects.</li>
+  <li><strong>Sharpen and Smooth:</strong> <em>Sharpen</em> enhances edges by increasing contrast around them, making the image appear crisper. <em>Smooth</em> (or a basic blur) does the opposite, softening features and blending pixels. These two are complementary – if an image is slightly blurry, a light sharpen can help; if it’s grainy or has harsh edges, a smooth can mellow it out. Be careful not to over-sharpen (which can cause halos) or over-smooth (which loses detail).</li>
+  <li><strong>Noise Filters:</strong> You can add or reduce noise. The <em>Add Noise</em> filter simply adds random color pixels (sprinkle of grain) to the image – sometimes used for artistic effect or to give a photo a film grain look. The <em>Median</em> filter reduces noise by replacing each pixel with the median color of its neighbors. Median is good for removing salt-and-pepper noise or small artifacts while preserving edges better than a plain blur.</li>
+  <li><strong>Artistic/Edge Effects:</strong> LazPaint has some unique filters. <em>Contour</em> will create a line drawing by keeping edges on a white background (like a pencil or sketch outline). <em>Emboss</em> will make the image appear raised or imprinted by turning colors into grays and shading edges as highlights and shadows – this gives a 3D relief effect. There’s also <em>ClearType</em> (and its inverse) which mimic the subpixel rendering of text, though that’s a niche effect for specific use cases. Another one is <em>Apply Function</em>, which is an advanced filter where you can apply an arbitrary mathematical function to the image’s color channels (useful only if you know exactly what transformation you need, like custom color curves via formula).</li>
+  <li><strong>Distortions:</strong> These filters warp the image geometry. <em>Twirl</em> will swirl the image around a chosen center, creating a vortex look. <em>Wave Displacement</em> will distort the image as if ripples or waves are passing through it (configurable by amplitude and frequency). <em>Sphere</em> makes the image look like it’s mapped on a 3D sphere (a bulging effect), and <em>Cylinder</em> does similarly as if wrapped on a cylinder. These can be used for fun-house mirror effects or to prepare textures for 3D mapping.</li>
+  <li><strong>Render (Generate):</strong> In addition to filters that modify existing content, LazPaint has a <strong>Render</strong> menu with tools to generate new content or patterns. For example: <em>Perlin Noise</em> (creates a random cloudy noise texture), which can be used for natural textures; <em>Water</em>, <em>Snow</em>, <em>Wood</em>, <em>Metal</em>, <em>Stone, Marble</em> etc. that generate textures of those materials; <em>Clouds</em> which adds cloud-like colored noise; and <em>Rain</em> which draws streaks to simulate falling rain on the image. These are great for creating backgrounds or for special effects (for instance, adding a rain effect over a photo). Some of these generated effects create a new layer that can be updated. Using different layers allow you to overlay them with blending modes for interesting results (e.g., rain on a separate layer set to a lightening blend mode to overlay on a scene).</li>
+</ul>
+<p>Filters can dramatically change your image, so it’s wise to use layers (duplicate the layer and apply the filter on the copy, so you can adjust opacity or mask the effect). You can also combine filters for unique outcomes. For example, LazPaint’s documentation or community posts show techniques like creating lightning by using Perlin Noise on two layers and blending them with Difference mode, then colorizing to a blue hue. This kind of layering plus filtering yields effects that a single built-in filter might not achieve alone. Don’t hesitate to experiment – with undo and layers, you can always revert or fine-tune the effect. And remember, filters respect selections: you can isolate the filter to just one part of your image by selecting that area first, which is very useful for targeted edits (like blurring a background but keeping a subject sharp).</p></div>
+
+<div class="columns"><h2 id="advanced">Advanced Features</h2>
+<p><strong>Vector Layers and Shapes:</strong> As mentioned earlier, LazPaint supports vector elements. When you draw shapes or text, they can remain vectorial (since version 7). You can use the <em>Edit Shape</em> tool (an icon with a cursor) to click on a vector shape or text and move it or adjust its nodes after it’s been created. This means you can fix a shape’s size or a text’s spelling after doing other work, which is very convenient. LazPaint can also apply gradients or textures to fills of shapes; to do this, look at the shape tool’s options where you can usually choose fill style (solid color vs gradient vs pattern). If you choose gradient, you can specify the start and end colors and drag the gradient line on the shape. Textures allow you to select an image to fill the shape. Furthermore, LazPaint has some alignment tools for shapes (to align vector objects relative to the canvas). Vector layers from LazPaint can be saved in SVG format: LazPaint can export layered SVG files so that vector shapes and text are preserved in the SVG. This means you could open the result in an SVG editor like Inkscape and continue editing there. Conversely, you can import SVG content. The vector capabilities of LazPaint make it a hybrid raster-vector editor, which is somewhat unique for a program of its class.</p>
+<p><strong>3D Object Import:</strong> LazPaint can import 3D models in Wavefront <code>.obj</code> format. When you use this feature (<em>File > Import 3D Object…</em> or similar), it will open a dialog to load an .obj file. You can choose the orientation, angle and lighting for the 3D model, and then LazPaint will render the 3D object onto a layer as a raster graphic. This is useful if you have a simple 3D model (like text or a shape from a 3D program) that you want to composite into an image. 3D models are loaded with their textures and custom normals, implying it does a decent job bringing in the model’s appearance. Keep in mind that once imported, the object is just pixels on a layer (not a fully manipulable 3D object), so choose your angle and lighting before importing, or import multiple times at different angles if needed.</p>
+<p><strong>Python Scripting:</strong> For power users, LazPaint provides a scripting interface under the <em>Script</em> menu. The scripts are written in Python. Through scripting, you can automate tasks or add new features. LazPaint comes with some pre-made scripts that implement common layer effects (accessible usually as menu items under Script). For example, you can find scripts for <em>Drop Shadow, Stroke (Outline), Inner Glow, Outer Glow</em>, etc. Using the Drop Shadow script will create a duplicate of your layer’s content, fill it with a semi-transparent black and offset it to look like a shadow – all automatically. The Stroke script will stroke the outside of your opaque pixels with a chosen color. These are things you can do manually with layers, but the scripts make it one-click. You can also create new scripts: if you are comfortable with Python, you can use it to manipulate images, layers, and apply effects in code. For instance, a script can iterate over all layers and apply a filter, or generate a complex procedural image. To run a script, you usually place the <code>.py</code> file in the scripts directory and then it will appear in the Script menu. This feature is somewhat advanced and might require consulting the official documentation or community for specifics, but it’s there for those who need automation or want to extend LazPaint’s capabilities.</p>
+<p><strong>Command-Line Usage:</strong> Another advanced feature is the ability to use LazPaint from a command-line (terminal) without the GUI, to perform image operations in batch or quick conversions. The general syntax is: <code>lazpaint &lt;input file&gt; [commands...] [output file]</code>. For example, you can use LazPaint to convert image formats just by calling it in a terminal: <code>lazpaint picture.pdn picture.png</code> will load a Paint.NET file and save it as PNG. If you include operation commands, LazPaint will apply them. Commands are given with a prefix <code>-</code> or <code>/</code> (on Windows you can use either, on Linux use <code>-</code>). Some examples: <code>/RotateCW</code> to rotate clockwise 90°, <code>/horizontalflip</code> or <code>/verticalflip</code> to mirror the image, <code>/Resample(800,600)</code> to resize the image to 800x600, <code>/opacity(128)</code> to change opacity, etc. You can chain multiple commands. For instance: <code>lazpaint input.jpg /RotateCCW /BlurFast output.png</code> would rotate an image counter-clockwise and then blur it, saving the result. If you omit the output file, LazPaint will execute the commands and then open the result in the GUI for you to review or continue editing. You can also run LazPaint with no input but with commands to create images from scratch; for example, <code>lazpaint /New(800,600) /Gradient(255,255,255,255,0,0,0,255,Linear,0,0,800,600) gradient.png</code> would create a new 800x600 image and fill it with a black-to-white linear gradient, then save it. Using LazPaint via command-line is like having a lightweight ImageMagick-like tool for basic operations, which can be very useful for scripting repetitive tasks or integrating into other workflows. For the full list of supported, run the command <code>lazpaint -help</code> or refer to the <a href="https://wiki.freepascal.org/LazPaint_Command_line">wiki</a> and examples.</p></div>
+
+<div class="columns"><h2 id="shortcuts">Keyboard Shortcuts</h2>
+<p>LazPaint provides keyboard shortcuts for most commands to speed up your workflow. Many of these are indicated in the menus next to the command names (for example, in the File menu you’ll see <em>Ctrl+O</em> for Open, <em>Ctrl+S</em> for Save, etc.). It follows common conventions: <strong>Ctrl+Z</strong> for Undo, <strong>Ctrl+Y</strong> (or Ctrl+Shift+Z) for Redo, <strong>Ctrl+C</strong> to Copy, <strong>Ctrl+V</strong> to Paste, <strong>Del</strong> to delete a selection or layer (when a layer is focused), and so on. In addition to those, here are some useful shortcuts and mouse tricks that may not be immediately obvious from the menus:</p>
+<ul>
+  <li><strong>Space bar (Pan):</strong> Hold down the space bar to temporarily switch to the Hand tool and pan around. This works while using most other tools – for example, if you’re in the middle of drawing with the brush and need to move to a different part of the image, press and hold space, drag to move the canvas, then release space to return to the brush.</li>
+  <li><strong>F6 (Toggle panels):</strong> Press F6 to hide or show all the floating tool windows (Toolbox, Layers panel, Color panel, etc.). This is useful if you want a distraction-free canvas or if you accidentally closed a panel and want it back. Pressing F6 again brings them back exactly as they were.</li>
+  <li><strong>Ctrl (Precise transforms):</strong> When using transformation operations (like rotating or resizing with handles), holding <strong>Ctrl</strong> will constrain the transform for precision. For rotation, it snaps to fixed angles (15° increments). For moving, it snaps to pixels.</li>
+  <li><strong>Shift (Constrain shapes/lines):</strong> Hold <strong>Shift</strong> while drawing shapes to maintain aspect ratio (perfect circle/square). When using the Edit shape tool, <strong>Ctrl</strong> will add or remove the elements to the current vector selection. When using polygon/curve tools, holding <strong>Shift</strong> allow to add another polygon that will be linked to the current one. This is useful if you want to draw a hole, for this you need to draw the hole in the reverse direction (counter-clockwise if the polygon was drawn clockwise).</li>
+  <li><strong>Backspace (Undo point/text):</strong> When drawing a polygon selection or shape with multiple clicks, press Backspace to delete the last point you placed if you made a mistake. Similarly, if you are typing text with the Text tool, Backspace will delete characters as usual. Essentially it’s an undo for the last step in shape/text input.</li>
+  <li><strong>Enter (Confirm selection/transform):</strong> Press <strong>Enter</strong> to confirm or ā€œapplyā€ the current action. For example, after moving or transforming a selection, pressing <strong>Enter</strong> will finalize it (stop the moving mode).</li>
+  <li><strong>Esc (Cancel/deselect):</strong> Press <strong>Esc</strong> to cancel the current operation or dialog. If you’re in the middle of drawing a shape or making a selection and want to cancel, <strong>Esc</strong> will usually abort it. If a selection is active, <strong>Esc</strong> will clear it (deselect) <em>provided</em> there is no partial action pending (for instance, <strong>Esc</strong> will deselect if a selection exists and you are not actively moving a node or something).</li>
+  <li><strong>Right-click (Alternate actions):</strong> The right mouse button is used for alternate tool actions in LazPaint. For drawing tools, right-click will draw with the secondary (background) color instead of the primary, effectively ā€œswappingā€ the colors temporarily. For selection tools, dragging with right-click will subtract from the existing selection (where left-click would normally add or replace the selection). For polygon shapes and lines, a right-click often signifies ā€œfinishā€ – it closes the shape so you don’t have to loop back to the start manually. In tools like the Clone Stamp, as mentioned, right-click sets the source point. Also, certain effect tools (like setting a light source for shaded text or shapes) use right-click: for example, if you have a ā€œShaded shapeā€ tool (with a light source), you can right-click on the canvas to set the light’s direction.</li>
+  <li><strong>Mouse Wheel:</strong> Use Mouse Wheel to zoom in and out (each notch will zoom a step). You can also click the middle mouse button (wheel click) and drag to pan if your mouse supports it.</li>
+  <li><strong>Tool Shortcuts:</strong> LazPaint has single-key shortcuts to switch tools. For instance, pressing <strong>B</strong> will select the Brush, <strong>E</strong> for Eraser, <strong>T</strong> for Text, etc. These are indicated in the tooltip of the tool or in the menu. Using these single keys can speed up switching between tools without going to the toolbox each time.</li>
+</ul>
+<p>By becoming familiar with these shortcuts, you can significantly speed up your editing process in LazPaint. The interface tooltips and status bar messages often remind you of these. If you forget a shortcut, check the menu or this documentation. With practice, you’ll find yourself using a combination of keyboard and mouse to work quickly and efficiently.</p></div>
+
+<div class="columns"><h2 id="faq">FAQ (Frequently Asked Questions)</h2>
+<dl>
+  <dt><strong>Q: How do I install or update LazPaint?</strong></dt>
+  <dd><strong>A:</strong> Installation is straightforward. For Windows, run the installer and follow the prompts (it’s a small program and doesn’t bundle unwanted extras). For the portable version, just unzip it to a folder and run <code>LazPaint.exe</code>. On Ubuntu/Debian Linux, you can download the <code>.deb</code> package and double-click it to install, or use the command line (with <code>dpkg -i</code> command). Other Linux users can use Flatpak on Flathub or Snap, or compile from source. On macOS, there is a DMG – open it and drag LazPaint to Applications. To update, you’ll typically download the new version and install it over the old one (settings should carry over). Check the LazPaint blog or GitHub releases for update announcements.</dd>
+  <dt><strong>Q: What file formats can LazPaint open and save?</strong></dt>
+  <dd><strong>A:</strong> LazPaint supports a wide range of formats:<br>
+  <ul>
+  <li><strong>Native/project format:</strong> <code>.LZP</code> (LazPaint Project) – preserves layers, transparency, etc.</li>
+  <li><strong>Layered formats:</strong> <code>.ORA</code> (OpenRaster) for interoperability, <code>.PDN</code> (Paint.NET) for which LazPaint can import all layers, <code>.PSD</code> (Photoshop) which LazPaint can open as flattened, and <code>.oXo</code>.</li>
+  <li><strong>Standard image formats:</strong> PNG, JPEG, BMP, GIF, TIFF, WebP, PCX, TGA, XPM, XWD, etc. – LazPaint can read and write these. Note: For GIF and TIFF, LazPaint can handle multi-frame images (e.g., animations or multi-page TIFFs). ICO/CUR (icons and cursors) are supported too (LazPaint can create multi-resolution icons).</li>
+  <li><strong>3D formats:</strong> LazPaint imports Wavefront <code>.OBJ</code> models (rasterizing them to an image layer). It does not export 3D, so this is input only.</li>
+  </ul>
+  In summary, you can open almost any common image. When saving, choose LZP if you need to keep layers for future editing. Use PNG if you need lossless output with transparency, JPEG for small files (photographs), ORA if you plan to transfer the file to another layered editor, etc. One thing to note: when saving to formats like BMP or GIF that have limited color depth, LazPaint will prompt options (e.g., BMP 24-bit vs 8-bit). If an image has too many colors to save in a paletted format, you may need to reduce the colors (for example, use Posterize or convert to grayscale first). LazPaint’s flexibility with formats is a strong point – you’ll rarely find a format it can’t handle in some way.</dd>
+  <dt><strong>Q: Does it support transparency (alpha channel)? My eraser isn’t making things transparent.</strong></dt>
+  <dd><strong>A:</strong> Yes, LazPaint fully supports transparency on layers. If the eraser isn’t making areas transparent, it could be because there is an underlying opaque background layer. In LazPaint, when you create a new image, you have the option of a solid background or transparent. Alternatively, you can use selections: select the region you want to make transparent and hit <strong>Delete</strong>.</dd>
+  <dt><strong>Q: I lost my Layers/Colors/Tools windows. They disappeared – how do I get them back?</strong></dt>
+  <dd><strong>A:</strong> They might just be hidden or behind the main window. The quickest way to bring all panels back is to press <strong>F6</strong>, which toggles the visibility of the tool windows. If that doesn’t bring them back, go to the <em>View</em> menu and ensure ā€œLayers Windowā€, ā€œColors Windowā€, ā€œToolboxā€ (or similarly named items) are checked or click them to re-open. LazPaint allows floating these panels freely, so it’s possible they got moved off-screen if you had a multi-monitor setup; F6 on/off can reset their state. If you prefer these panels to not float, you can dock them into the main window in the View menu.</dd>
+  <dt><strong>Q: How can I crop the image to a certain area?</strong></dt>
+  <dd><strong>A:</strong> Currently, LazPaint doesn’t have a dedicated ā€œCrop Toolā€ button like some editors, but cropping is easy via selection. Use the rectangular selection tool to select the area you want to keep. Then go to <em>Image > Crop to selection</em>. That will cut the canvas down to that selection. Make sure you have the area exactly selected first. If you want to crop by exact numbers, you could use <em>Canvas Size</em> and manually input the new size, but using the selection is more visual. Once cropped, everything outside the area is discarded. If you accidentally crop too much, just undo (Ctrl+Z) and try again. Pro tip: if you want to extend the canvas (the opposite of crop, to add border area), use <em>Image > Canvas Size</em> and enter a larger size – you’ll get empty space (transparent or filled with a color depending on background) around your image.</dd>
+  <dt><strong>Q: How do I draw a straight line or a perfect circle?</strong></dt>
+  <dd><strong>A:</strong> To draw a straight line, the easiest way is to use the Polyline or Curve tool. Click (left or right) the starting point and right-click the end point. For a perfect circle or square, start drawing an ellipse or rectangle and hold <strong>Shift</strong> while dragging – this locks the aspect ratio to 1:1 (a circle or square).</dd>
+  <dt><strong>Q: The quality of my image got worse after resizing/rotating – can I avoid that?</strong></dt>
+  <dd><strong>A:</strong> When you resize or rotate a raster image, some quality loss (blurriness) can happen due to interpolation of pixels. LazPaint uses resampling algorithms to minimize this, but multiple transformations can compound errors. To avoid quality loss: try to do scaling in one go to the final size (rather than repeated rescale down then down again). For rotation, 90° rotations are lossless (since pixels realign), but arbitrary angles will blur slightly. One strategy: if you have vector shapes or a source with higher resolution, use those. LazPaint’s vector layers, for instance, can be transformed without losing quality, so if you know you’ll need to rotate a shape, keep it vector until you finalize. Also, LazPaint’s undo allows you to experiment – if you rotated something and it looks bad, undo and try a different approach (maybe rotate before scaling, or vice versa). In summary, the algorithms are good but not magic; avoid successive transforms on the same pixels. If needed, go back to the original and do a single transform to target. And for critical photo work, use the highest quality resample option.</dd>
+  <dt><strong>Q: Are there any tutorials or documentation for learning LazPaint?</strong></dt>
+  <dd><strong>A:</strong> Yes, beyond this help page, there are several resources. There’s also an official forum where the developer and users discuss usage tips – you can search or ask questions there. The LazPaint blog introduces new features with examples (for instance, posts about using blending modes to create lightning, or new gradient tools). Additionally, there are a few video tutorials on YouTube that demonstrate LazPaint’s interface and basic drawing operations (search for ā€œLazPaint tutorialā€ on YouTube). Since LazPaint shares some similarities with Paint.NET, tutorials for that program can sometimes be applied in LazPaint (for example, how layers and blend modes work, or basic photo editing steps). And of course, you can reach out via the project’s <a href="https://github.com/bgrabitmap/lazpaint">GitHub page</a> if you encounter bugs or have suggestions. The community is small but friendly, and the developer is active in responding to feedback.</dd>
+</dl></div>
+
+<h2 id="resources">Further Resources</h2>
+<p>If you need more information or help, check out these official LazPaint resources:</p>
+<ul>
+  {{ $pdf := "pdf/lazpaint-tips-assets.pdf" | relURL -}}
+  <li><a href="{{ $pdf }}">Tips and assets</a> - A PDF with lots of tips and links to assets provided by Love (a community member)</a></li> 
+  <li><a href="https://forum.lazarus.freepascal.org/index.php?board=27.0">LazPaint Forum</a> – Community forum (under Lazarus forums) where you can ask questions, report issues, and share experiences with other LazPaint users and the developer.</li>
+  <li><a href="https://github.com/bgrabitmap/lazpaint">LazPaint GitHub Repository</a> – The source code and issue tracker. Useful if you want to report a bug or request a feature, or even contribute code.</li>
+  <li><a href="https://www.youtube.com/results?search_query=LazPaint+tutorial">YouTube: LazPaint Tutorials and Demos</a> – A YouTube search link, since specific video content may be user-contributed. Here you can find tutorials or demonstrations of LazPaint in action.</li>
+  <li><a href="https://lazpaint.blogspot.com/">LazPaint Official Blog</a> – Posts by the developer highlighting new features and tips (for example, explanations of new version changes).</li>
+  <li><a href="https://wiki.freepascal.org/LazPaint">LazPaint Wiki</a> – Comprehensive documentation on features, file format specs, tutorials, and troubleshooting.</li>
+</ul>
+<p>With this help guide and the resources above, you should be well on your way to mastering LazPaint. It’s a versatile tool that bridges simple painting and advanced editing. Happy painting!</p>
+</main>
+{{ partial "footer.html" . }}

Fișier diff suprimat deoarece este prea mare
+ 29 - 0
web/layouts/page/documentation.ru.html


+ 1 - 1
web/layouts/page/last.html

@@ -1,6 +1,6 @@
 {{ partial "header.html" . }}
 {{ $url := "https://api.github.com/repos/bgrabitmap/lazpaint/releases/latest" -}}
-{{ $last := getJSON $url -}}
+{{ $last := resources.GetRemote $url | transform.Unmarshal }}
 {{ $text := printf "\n%s" $last.body -}}
 {{ $text := replace $text "  *" "-" -}}
 {{ $text := replace $text "\n-" "\n•" -}}

+ 0 - 3
web/layouts/partials/nav.html

@@ -8,9 +8,6 @@
                     {{- else -}}
                         {{- $item.Set "URL" (relURL .URL) -}}
                     {{- end -}}
-                    {{- if and (eq .Name "documentation") (ne $page.Language.Lang "en") -}}
-                        {{- $item.Set "URL" (printf "%s/%s" ($item.Get "URL") $page.Language.Lang) -}}
-                    {{- end -}}
                     {{- if eq (relURL $page.Permalink) (relLangURL .URL) -}}
                         {{- $item.Set "Class" "button success" -}} 
                     {{- else -}}

+ 49 - 0
web/static/css/style.css

@@ -8,10 +8,58 @@ body {
     background: black;
 }
 
+code {
+	background: #444;
+}
+
 p {
     margin: 0px;
 }
 
+.doc {
+	background: #403531;
+	padding: 2em;
+}
+
+.doc p, .doc dd {
+	margin-bottom: 6px;
+}
+
+.doc a:not(.button) {
+	color: #85D4DE;
+}
+
+.columns {
+  column-width: 25em;
+  column-gap: 2em;
+  text-align: justify;
+  hyphens: auto;
+  -webkit-hyphens: auto;
+  word-spacing: -1px;
+  margin: 1em 0;
+  padding: 1em;
+}
+
+.large-columns {
+  column-width: 33em;
+  column-gap: 2em;
+  text-align: justify;
+  hyphens: auto;
+  -webkit-hyphens: auto;
+  word-spacing: -1px;
+  margin: 1em 0;
+  padding: 1em;
+}
+
+.columns h2 {
+	margin-top: 0;
+	padding-top: 0;
+}
+
+.columns:nth-child(even) {
+	background: #51433E;
+}
+
 h1 {
     font-size: 3.5rem;
     font-weight: 300;
@@ -35,6 +83,7 @@ h2 {
     padding-bottom: 30px;
     margin-bottom: 5px;
     background-repeat: no-repeat;
+	background-position: 50% 20%;
 }
 
 .languages {

BIN
web/static/img/lazpaint-interface.png


BIN
web/static/pdf/lazpaint-tips-assets.pdf


Unele fișiere nu au fost afișate deoarece prea multe fișiere au fost modificate Ć®n acest diff