Le logiciel de dessin vectoriel DrawDesign
Présentation
Ce projet n'est pas encore abouti mais dors et déjà présentons-le.
DrawDesign est destiné à ceux qui veulent faire des schéma rapidement non pas à l'aide de lignes, de rectangles ou d'autres objets graphiques de bas niveaux, mais à partir d'objets graphiques de haut niveau.
Les objets graphiques de haut niveau sont :
- les flèches
- les copies d'écran
- des cercles numérotés permettant de poser des légendes sur des copies d'écran
- des diagrammes en camembert, en histogramme ou en lignes de point
- des boîtes contenant un texte
- des images
- une base d'images vectorielles ou bitmap.
DrawDesign fonctionne sur Windows, MacOSX et Linux.
Pour le moment DawDesign doit être compilé car il ne dispose pas encore d'installeur.
Voici une copie d'écran de draw design
DrawDesign permet de mémoriser des types d'objet ainsi en un clic on peut choisir une boite bleue avec texte blanc ou une boite orange avec texte rouge.
Il a été conçu pour permettre de dessiner dans un temps record.
DrawDesing est livré comme une librairie libDrawDesign qui s'installe dans un répertoire par exemple : /usr/local/lib et un programme main qui appelle la librairie.
Ainsi on peut inclure drawdesign dans d'autres logiciels écrits en C++.
Installation
L'installation se fait en récupérant les sources sur le site Sourceforge au moyen de la commande
git clone https://git.code.sf.net/p/drawdesign/code drawdesign cd drawdesign/DrawDesign qmake make
Utilisation de DrawDesign en tant que librairie
Préambule
Lorsque l'on compile sous Linux DrawDesign :
- le fichier libDrawDesign.so.1.0.0 est créé dans le répertoire /usr/local/lib
- les fichiers include sont créés dans le répertoire /usr/local/include/DrawDesign
Le programme DrawDesign n'est qu'un appel à cette librairie en voici le code
#include "drawdesignwindow.h"#include #include int main(int argc, char *argv[]){ QApplication a(argc, argv); a.setApplicationName("DrawDesign"); a.setOrganizationDomain("DrawDesign"); a.setOrganizationName("DrawDesign"); QSettings::setDefaultFormat(QSettings::IniFormat); a.setWindowIcon(QIcon(":/Icons/drawdesign.svg")); DrawDesignWindow w; w.show(); return a.exec(); }
- Le fichier de configuration du programme s'appelle DrawDesign.conf, il est préférable de le forcer en format ini. La librairie drawdesign peut partager nos fichiers de configuration mais la librairie appelle les QSettings sans argument, donc que l'organisation et l'applcication name soient renseignés.
- Ensuite on appelle une fenêtre DrawDesign w; par un show() mais on aurait pu la rendre bloquante par un exec()
Fonctions publiques de la classe DrawDesignWindow
- la méthode utile qui se place après un exec est
// getExportFile DrawDesignWindow ::Returned indicator; QString image=w->getExportedFile(indicator);
getExportedFile renvoie le fichier image avec l'indicateur indicator qui peut prendre les différentes valeurs :
- NoFile : pas de fichier de sortie : la fenêtre DrawDesign a été fermée sans appui sur le bouton OFF ( c'est pas dire par la croix de destruction des fenêtres ou par le boutpon exit. Dans ce cas le nom de fichier est vide
- ImageFile : signifie que le fichier.dd a été exporté dans un répertoire donné par l'utilisateur sous forme fichier.png ou fichier.gif ou fichier.jpg dont le chemin a été donné explicitement
- DDFile : le fichier de sortie est calculé à partir du ficher dd d'entrée, donc l'emplacement du fichier jpeg, png .. est le même que celjui du fichier source.