Paintual, version 0.0.4

Une nouvelle version installable pour Windows disponible ici https://github.com/belisssle/Paintual/releases/tag/0.0.4

Deux nouveaux boutons blancs (!!). Le premier à gauche permet de dessiner après que l’effet de bruit a été généré.

Évidemment, rien n’est parfait : il reste un cas que j’ai à élucider où l’outil de zoom fait disparaître l’image (elle est juste hors champ mais on ne peut pas la rattraper facilement).

Dans les coulisses : plus le projet avance, plus la liste des choses à faire s’allonge. Ça devient difficile à gérer. Suffit à penser à la documentation, à tous ces bouts de code qui commencent quelque chose parce que j’ai eu une idée et j’en ai mis les amorces dans le projet, etc. J’en suis donc rendu à tenir un cahier de travail, sinon je vais perdre le contrôle de mon projet (ce qui serait bien triste puisque je suis le seul à y travailler pour l’instant). Je demeure encouragé par ces quelques petites améliorations que j’arrive à intégrer de ci, de là.

* * *

A new installable version for Windows available here : https://github.com/belisssle/Paintual/releases/tag/0.0.4

Two new buttons (white !!). The first one (on the left) allows to draw after an effect has been applied.

Obviously, nothing is perfect: there remains a case that I have to investigate where the zoom tool hides the image (it is just out of scope but we can not catch it easily).

Behind the scenes: As the project progresses, the list of things to do gets longer, and it is becoming difficult to manage. Just think about the documentation, all those bits of code that start something because I got an idea and I wrote a few lines of code in the project as starting points, and so on. So I’m going to keep a workload notebook, otherwise I will lose control of my project (which would be very sad since I’m the only one working on it for now 🙂 ). This being said, I am encouraged by the few small improvements I could integrate so far.

Lumières du soir

_DSC4079 1200

Lumière du soir 1

Licence Creative Commons
Lumière du soir 1 de Belisssle est mis à disposition selon les termes de la licence Creative Commons Attribution 4.0 International.

_DSC4081 1200

Lumière du soir 2

Licence Creative Commons
Lumière du soir 2 de Belisssle est mis à disposition selon les termes de la licence Creative Commons Attribution 4.0 International.

_DSC4083 1200

Lumière du soir 3

Licence Creative Commons
Lumière du soir 3 de Belisssle est mis à disposition selon les termes de la licence Creative Commons Attribution 4.0 International.

Paintual, une nouvelle version 0.0.3

Une version installable sous Windows disponible ici : https://github.com/belisssle/Paintual/releases/tag/0.0.3 (même si le fichier zip dit version 0.0.2, ma petite erreur).

Zoom et barre de défilement presque 100 % fonctionnels.

Il n’y a pas de validation sur les valeurs qu’on peut entrer dans les cases texte des paramètres de la “Noise Factory”. Que des entiers pour les valeurs “Seed” et “Octaves”. Les valeurs d’octaves peuvent être de 1 à 12 inclusivement. Que des chiffres et un point décimal (pas une virgule) pour “Frequency”. Plus la valeur de fréquence est faible, moins il y a de détails dans le rendu.

* * *

A new installable version for Windows is available here: https://github.com/belisssle/Paintual/releases/tag/0.0.3 (even if the zip file says version 0.0.2, my mistake).

Zoom and scrollbars are almost 100 % functional.

There is no validation in values that can be entered in the textboxes of the Noise Factory parameter window. Only integer values for Seed and Octaves. Octave values can range from 1 to 12 incl. Only digits and a period as decimal separator (no comma) for Frequency. The lower the frequency value is, the less details are generated.

Zoom

La fonctionnalité zoom est essentielle en dessin par ordinateur et elle l’est tout particulièrement pour un projet que j’ai à réaliser et pour lequel Photoshop est encombrant à utiliser : sélectionner de petits fragments d’images manuellement et les sauvegarder en leur donnant chacun un identifiant unique. Donc je zoom sur une image et je dessine une zone de sélection rectangulaire (c’est suffisant pour le moment) et dis à Photoshop de sauvegarder uniquement cette section. Je dois nommer le fichier. Recommencer l’opération. Je voudrais simplement activer une fonctionnalité, sélectionner et cliquer sur “Enter” et la sauvegarde se ferait toute seule sans avoir à donner un nom de fichier. Ça irait beaucoup plus vite.

C’est dans cette optique que je travaille la fonction de zoom de Paintual (en laissant de côté pour un instant les autres aspects à développer de l’application). Dans la vidéo ci-dessous, on voit que Zoom fonctionne bien, même je suis surpris à quel point c’est rapide. Il reste plusieurs variables à tenir en compte pour que Zoom fonctionne bien avec le déplacement de l’image (“pan” en anglais) et il y a aussi le coordonnées transformées pour que le dessin signifié avec les mouvements de la souris concordent avec la portion d’image affichée.

Une bonne partie de ce travail existait déjà dans la première version de Paintual (celle écrite pour WinForms). Mais le simple copier-coller au point de vue code ne fonctionne pas aussi facilement. Encore plusieurs heures de plaisir.

Le code actuel avec la fonction Zoom est disponible sur GitHub mais, évidemment, ça n’est pas une version encore utilisable avec grand plaisir : il reste quantité de bogues à résoudre.

* * *

The zoom feature is essential in computer-based design, and it is particularly important for a project I am currently working on. For this project, using Photoshop is cumbersome: select small fragments of images manually and save each of them by giving a unique identifier. So I zoom in on an image and I draw a rectangular selection area (that’s enough for the moment) and tell Photoshop to save only this section. I have to name the file. Repeat the operation. I’d rather simply activate a feature, select a portion of an image and click on “Enter” and the save operation would be done without having to give a file name. It would go much faster.

It is the reason why I work the zoom function of Paintual (leaving aside for a moment the other aspects of development). In the video above, we see that the Zoom tool works well, even I’m surprised how fast it is. There are several variables to keep in mind for Zoom to work well in conjunction with panning, and there are also the transformed coordinates so that the drawing indicated by mouse movements on the canvas are consistent with the portion of the image being displayed.

The current code with the Zoom function is available on GitHubbut, obviously, this is not a version that can still be used with great pleasure: there are still a lot of bugs to solve.

Entre temps, quelque chose qui fonctionne

Ah ! Ce cher Paintual ! Travaillant le code en deux projets parallèles (un projet pour Paintual et un autre pour l’interface des fenêtres), j’ai réussi à faire en sorte qu’on peut appliquer un effet sur plusieurs documents (ce qui ne fonctionnait pas du tout avant). Le code a été porté sur GitHub. Une version compilée devrait suivre sous peu. Aussi, un bogue de corrigé : quand on ferme la fenêtre des paramètres d’effet ça ne plante plus. Joie !

Petite percée qui m’encourage. Petite vidéo pour illustrer le propos du jour.

* * *

Oh! Dear Paintual! Working on the code in two parallel projects (one for Paintual and the other for the windows interface), I managed to make it possible to apply an effect on several documents (which did not work at all before). The code has been posted to GitHub. A compiled version should follow shortly. Also, a bug fixed: when we close the window of the effect settings it does not crash anymore. Joy!

Tiny breakthrough that encourages me. Small video to illustrate the purpose of the day.

Un problème, suite

Il semble (sans que j’en sois réellement assuré) que le problème d’affichage vient du fait que j’utilise dans Paintual une version plus récente de WPF qui ne supporterait plus Blend SDK qui est utilisé dans les contrôles visuels du WindowsManager que j’essaie d’ajouter à mon projet (le truc qui permet de compartimenter le visuel de l’application : image dans une fenêtre et outils dans d’autres fenêtres en marge ou coulissantes). Une solution possible ici : https://stackoverflow.com/questions/32024034/the-type-from-assembly-is-built-with-an-older-version-of-blend-sdk-and-is-not-su, Mais j’ai pas trop le goût de jouer avec des enregistrements de DLL sans réellement comprendre ce qui se passe sous le capot.

Alors je reconstruis dans un projet parallèle le code Synergy de Mixmode (voir ce post précédent). Un grand détour car pendant que je joue au mécanicien d’interface, mon application ne gagne pas en fonctionnalités de dessin. Un peu décourageant. Ceci dit, j’apprends à faire des CustomControls (un début d’info ici) et ça me donne des idées pour créer des interactivités que je n’aurais pas su faire auparavant.

En attendant voici la Vignette 6 “Carte d’identité”

* * *

It seems (but I’m not really sure) that the display problem comes from the fact that, in Paintual, I use a newer version of WPF that no longer supports Blend SDK that is used in the visual controls of WindowsManager that I try to add to my project (the thing that allows to compartmentalize the visual elements of the application: image in a window and tools in other windows, either in the margin or sliding from the sides and bottom). One possible solution here: https://stackoverflow.com/questions/32024034/the-type-from-assembly-is-built-with-an-old-version-of-blend-sdk-and-is-not-su But I do not really feel like playing with DLL registration without really understanding what’s going on under the hood.

So I rebuild on the side the Synergy code of Mixmode (see this previous post). A big detour; because while I play the “interface mechanic guy,” my application does not gain in drawing features. A little discouraging. That said, I’m learning how to make CustomControls (beginner’s info here) and it gives me ideas to create interactivity scenarios I could not have done before.

In the meantime here is Vignette 6 “Identity Card.”