1 points par GN⁺ 3 시간 전 | 1 commentaires | Partager sur WhatsApp
  • Présente le flux complet du dessin sur 9front en l’organisant autour de paint(1), depuis le choix du périphérique d’entrée jusqu’à la gestion de la toile, la manipulation d’image et l’export
  • Le travail se fait dans le format interne image(6) de 9front, puis on dessine avec paint(1) avant d’ajuster le résultat avec page(1), crop(1), vcrop(1), resize(1) et rotate(1)
  • paint(1) ne prend pas en charge la pression, les calques ni le copier-coller ; l’utilisateur doit donc gérer lui-même la zone de travail et les couleurs, comme sur du papier
  • Sont couverts la souris, le doigt, le stylet, les tablettes externes et l’entrée via drawterm/VNC, mais comme les boutons du stylet imitent les clics de souris, il est pratique de garder clavier et souris à portée
  • Pour le partage externe, la conversion en PNG est la plus adaptée ; comme les PNG et JPG ne peuvent pas être édités directement par paint(1), crop(1) ou vcrop(1), il faut au besoin les reconvertir au format image de 9front

Configuration de base pour dessiner sur 9front

  • Pour dessiner, il faut un « outil de dessin » et une « surface de dessin », et sur 9front plusieurs modes d’entrée peuvent être utilisés en plus d’un véritable périphérique au stylet
  • Sur tout ordinateur capable d’exécuter 9front, il est possible de suivre How to draw, et si l’on veut un appareil sur lequel dessiner directement à l’écran, un portable 2-en-1 avec prise en charge Wacom convient bien
  • Voici les modèles ThinkPad qui ont effectivement bien fonctionné

Caractéristiques selon les périphériques d’entrée

  • Le dessin à la souris est une méthode ancienne, mais elle a l’avantage d’être compatible avec tout ordinateur doté d’une souris
  • L’entrée au doigt fait que le toucher de l’écran imite le clic gauche de la souris, mais ne remplace pas les autres clics ; il faut donc garder une souris à proximité
  • Pour les tablettes externes, les modèles avec écran risquent de ne pas fonctionner sur 9front, tandis que les modèles sans écran peuvent fonctionner
    • Le périphérique recommandé est la GAOMON S620, qui fonctionne très bien en plug-and-play sur 9front
    • La Wacom CTL-672 se comporte comme un pavé tactile en coordonnées relatives
    • La Wacom CTL-490 ne fonctionne pas
    • Voir aussi [fqa] 3.2.4 - Tablet Digitizers
  • Il est difficile de bien dessiner avec le seul clavier, mais paint(1) nécessite tout de même le clavier
    • Sur une tablette où l’accès au clavier physique est difficile, ou dans des environnements particuliers, on peut utiliser le clavier virtuel bitsy/keyboard
    • Exemple de lancement : rio -k 'bitsy/keyboard -n'
  • Avec drawterm/VNC, on peut se connecter à un ordinateur 9front distant ou virtuel et utiliser une plus grande variété de périphériques d’entrée
    • On peut par exemple dessiner au doigt depuis un téléphone Android, à la souris depuis Linux ou MacOS, ou utiliser sous Windows un périphérique d’entrée que 9front ne prend pas directement en charge
    • Site associé : drawterm.9front.org

Le format image(6) et les prérequis de paint(1)

  • Le dessin, le recadrage et la manipulation d’images sur 9front se font dans des fichiers au format interne image(6)
  • Pendant la création du dessin, il n’est pas nécessaire de trop se soucier du format, mais pour le partager à l’extérieur il faut le convertir vers un autre format
  • Les noms de fichier sont illustrés avec des exemples comme file.pic, mais on peut bien sûr choisir n’importe quel nom
  • Ce guide ne traite que de paint(1) parmi les différents programmes de dessin de 9front
  • paint(1) doit être abordé d’une manière plus proche du dessin au papier, à l’encre et à la couleur qu’un logiciel de dessin numérique classique

Limites de paint(1) et manipulations de base

  • Les boutons du stylet et de la tablette imitent les entrées de la souris, et le guide les exprime donc tous en termes d’actions à la souris
    • En suspension au-dessus de l’écran : déplacement de la souris
    • Toucher la surface : clic gauche ou maintien appuyé
    • Le stylet idéal dispose de 2 boutons pour le clic du milieu et le clic droit
    • Si un bouton ne fait que le clic droit, on peut maintenir Shift et appuyer sur ce bouton pour imiter le clic du milieu
  • paint(1) et 9front ne prennent pas en charge la détection de pression
  • Il n’y a pas non plus de calques ni de couper/coller ; ce qui est dessiné constitue directement le résultat final
  • L’enregistrement et l’ouverture se font au clavier
    • w : enregistrer le fichier
    • r : ouvrir ou relire un fichier
    • | : envoyer la toile courante dans un pipe vers une commande de transformation
    • < command : lire le résultat d’une commande dans paint(1) et remplacer la toile courante
    • > command : envoyer la toile courante à une commande pour écrire dans un fichier
  • Exemples d’usage
    • | rotate -u : rotation de la toile
    • < crop -i -50 glenda.pic : ouvre glenda.pic en lui ajoutant une bordure noire de 50 pixels
    • > crop -i -50 | rotate -r 90 > modified_glenda.pic : ajoute une bordure à la toile courante, la fait pivoter de 90° puis l’enregistre

La toile est définie par la zone où des pixels ont été posés

  • Dans paint(1), la toile est la zone rectangulaire qui contient le dessin
  • La fenêtre blanche juste après le lancement est un fichier vide ; la toile n’est créée qu’après avoir dessiné ou effacé le premier pixel
  • paint(1) considère les pixels les plus éloignés comme les limites de la toile
    • La taille de la fenêtre ne détermine pas la taille de la toile
    • Même les pixels effacés avec la gomme sont considérés comme des pixels posés
  • Il est recommandé de considérer la taille initiale de la fenêtre paint(1) comme une toile de travail, puis de dessiner des repères de découpe dans les coins avant de travailler
  • Si l’on a besoin d’une image de dimensions précises, il faut créer une toile de taille fixe selon une procédure séparée, puis faire les calculs de recadrage ou retirer les marges après le travail

Outils principaux de paint(1)

  • La sélection d’outil se fait en cliquant avec le bouton gauche sur la barre d’outils en bas
  • Couleur
    • Sélection de la couleur avec le clic gauche
    • Un clic droit sur une couleur de la barre d’outils permet de modifier la palette en saisissant un code hexadécimal
    • paint(1) ne mémorise pas la palette après sa fermeture, il faut donc la reconfigurer à chaque nouvelle fenêtre
    • Pour utiliser plus de 16 couleurs, on peut ouvrir le même fichier image dans plusieurs fenêtres paint(1) et les synchroniser avec w et r
  • Pinceau
    • Choisir la taille du pinceau avec 0-9 ou le bouton gauche, puis dessiner en faisant glisser
  • Remplissage
    • Utilise f, c, le bouton gauche et le bouton du milieu
    • Remplace une zone de pixels connectés de même couleur par une autre couleur
    • Sert aussi à changer la couleur de fond, qui devient celle utilisée par la gomme
    • c supprime tout, remplace le fond par la couleur choisie et remet le fichier à l’état vide
  • Gomme
    • Utilise 0-9 et le bouton du milieu
    • Remplace par la couleur de fond la zone sous le curseur, avec la taille du pinceau courant
  • Lignes droites et cercles
    • Pour les lignes droites, on utilise une règle
    • Pour les cercles, on suit un objet rond et plat ou un cercle tracé au compas sur du papier calque
  • Déplacement, zoom, annulation
    • Maintenir le bouton droit et déplacer pour faire un panoramique
    • - et + servent à zoomer/dézoomer, mais on ne peut pas dézoomer au-delà du niveau de zoom initial
    • Esc réinitialise le zoom et recentre la toile
    • u annule le dernier segment continu, et même une longue ligne peut être répartie en plusieurs étapes d’annulation

Faux calques et suppression basée sur la couleur

  • paint(1) n’a pas de calques, mais on peut créer des faux calques en esquissant avec une couleur qui ne sera pas utilisée réellement, puis en traçant les lignes finales par-dessus
  • Dans l’exemple, HotPink sert de couleur d’esquisse, puis cette couleur est supprimée à la fin
  • Comme l’utilisation manuelle du remplissage ou d’une gomme de précision peut être longue, il est utile d’employer pico pour remplacer une couleur donnée par la couleur de fond
  • pico peut être récupéré avec la commande suivante
  • Explications associées : Image Manipulation on Plan 9 Using pico
  • Les valeurs RGB décimales du HotPink #ff5fd7 sont 255, 95, 215, et un exemple de conversion avec pc(1) est donné

page(1), crop(1), vcrop(1), resize(1), rotate(1)

  • page(1) est un visualiseur de documents utilisé pour afficher plusieurs formats d’image, des PDF, des livres électroniques, etc.
    • page my_picture.pic permet d’afficher le dessin
    • Il est recommandé de prendre l’habitude de vérifier avec page(1) le résultat des manipulations d’image avant de l’écrire dans un fichier
    • Dans page(1) aussi, on peut appuyer sur w pour enregistrer dans un fichier le résultat affiché
  • Si le dessin devient plus grand que la fenêtre paint(1), on peut ouvrir une fenêtre séparée avec page picture.file et l’utiliser comme aperçu avec fit width ou fit height
  • vcrop(1) est un outil de recadrage graphique
    • Panoramique avec le bouton gauche
    • Sélection de l’outil de recadrage avec le bouton du milieu
    • Affichage des options comme l’enregistrement avec le bouton droit
    • Il ne permet pas de zoomer, ce qui le limite lorsqu’il faut recadrer une zone plus grande que la fenêtre ou effectuer un recadrage précis au pixel près
  • crop(1) supprime ou ajoute des lignes de pixels
    • crop -x 50 mypic.pic > mypic_crop.pic : coupe 50 pixels à gauche et à droite
    • crop -i -10 -b 255 255 255 mypic.pic : ajoute une bordure blanche de 10 pixels
  • resize(1) agrandit ou réduit l’image
    • Pour conserver les proportions d’origine, il faut ne spécifier que -x ou -y
    • Exemple : resize -n -y 245 mypic.pic > mypic_resized.pic
  • rotate(1) peut faire pivoter les images par pas de 90°
    • rotate -r 90 my.pic > rotated.my.pic
    • rotate -ul > flipped.my.pic

Créer une toile de taille exacte et stratégies de recadrage

  • Si l’on a besoin d’une taille exacte comme 250x250, on crée une image vide, on lui donne la taille voulue avec resize(1), puis on l’ouvre avec paint(1)
    • w empty_canvas.pic
    • resize -n -x 250 -y 250 empty_canvas.pic > empty_canvas_250x250.pic
    • cp empty_canvas_250x250.pic mypicture.pic
    • paint mypicture.pic
  • paint(1) n’empêche pas de dessiner au-delà des limites de la toile ; si l’on dépasse, la taille du dessin s’étend
  • Il y a trois options
    • Ne pas se soucier des traits qui dépassent et recadrer mathématiquement après coup
    • Ajouter avant le travail une marge uniforme supplémentaire, puis la retirer à la fin
    • Dessiner des repères de découpe dans les coins pour recadrer plus tard
  • crop -r a b c d recadre en utilisant les coordonnées absolues de l’image, et dd -bs 128 -count 1 permet de vérifier les coordonnées
  • Dans l’approche par marges, on peut par exemple partir d’une toile blanche de 250x250, lui ajouter une marge rouge de 25 pixels pour travailler, puis la retirer avec crop -i 25 afin d’obtenir un résultat final exact de 250x250

Tracé par transparence et palette

  • On peut récupérer une image d’Internet, la convertir au format 9front, l’éclaircir avec pico, puis la retracer dans paint(1)
  • Dans paint(1), on peut retracer les lignes avec une couleur spécifique comme HotPink, puis utiliser pico pour ne conserver que cette couleur et mettre le reste en blanc
  • Pour les palettes, voir aussi git.sr.ht/~amavect/makeu

Export et partage vers l’extérieur

  • Les images dessinées sur 9front relèvent en pratique du pixel art ; il est donc recommandé de les convertir en PNG
  • Il est indiqué que le PNG est toujours plus petit et plus net que le JPG, et qu’il restitue exactement ce qui apparaît dans paint(1)
  • Les formats comme PNG ou JPG ne peuvent pas être manipulés directement dans paint(1), crop(1) ou vcrop(1), mais peuvent être affichés avec page(1)
  • Si l’original a été perdu, on peut reconvertir le PNG au format 9front pour le modifier à nouveau
    • png -c9 my_picture.png > my_picture.pic
  • Il existe de nombreuses façons, des plus simples aux plus complexes, de transférer le résultat vers un autre appareil
    • Ouvrir l’image dans page(1) et la photographier avec un téléphone
    • Brancher une clé USB FAT et copier vers /shr/sdS0M3TH1NG
    • Envoyer vers un ordinateur Unix avec sshfs(4)
    • Se connecter en drawterm depuis un ordinateur Unix et copier vers /mnt/term/some/where
    • Publier sur snac avec mothra(1)
    • S’envoyer le fichier par e-mail depuis l’ordinateur 9front
    • Transférer avec sshfs(4) vers une machine virtuelle dans 9front
    • Copier sur un serveur web 9front, puis le télécharger depuis un autre appareil

1 commentaires

 
GN⁺ 3 시간 전
Commentaires sur Lobste.rs
  • Plan 9 et 9front m’ont toujours paru fascinants, et le sens de l’humour de 9front rappelle le Web d’autrefois :) Celui-ci ne fait pas exception
    • C’est un système confortable
      Écrit dans Mothra sur 9front
  • Il y a un chaos joyeux assez étrange à tracer une ligne droite à la règle sur une tablette graphique, et il est difficile d’expliquer pourquoi ce serait une mauvaise chose. Je ne suis même pas sûr que ça le soit
    Peut-être que les petites variations naturelles peuvent rendre le résultat plus agréable à l’œil qu’une ligne de Bresenham
    Cela dit, c’est quand même rassurant qu’ils aient utilisé le compas sur du papier calque plutôt que directement sur la surface de la tablette
    • En dessinant lentement, on a particulièrement tendance à créer une certaine ondulation artificielle
      Cela dit, la plupart du temps, il suffit d’en être conscient et de l’éviter ; je recommande donc vivement d’utiliser un guide physique plutôt qu’une précision artificielle
    • Le compas qu’on utilisait à l’école permettait de remplacer la partie qui dessine par n’importe quel stylo
      Si on plante la pointe dans un morceau de bouchon de liège, ça devrait plutôt bien marcher :^)
  • @pmjv, en supposant que triapul.cz et le memeplex stanleylieber.com soient tous les deux à vous… comment trouvez-vous le temps ?!
    • Ce ne sont pas la même personne !