DrawBerry

fouffouf Membre
19:27 modifié dans Vos applications #1
Bonjour tous le monde.

Ca fait un bout de temps que je ne poste plus beaucoup sur le forum, mais ca ne veut pas dire que je ne fous rien non plus.
En fait cet été (et un peu après) j'ai pas mal travaillé sur un projet d'application de dessin vectoriel : DrawBerry.
Alors, ca n'a pas grande prétention face aux poids lourds que sont Illustrator ou autres mais ca permet tout de même de faire certains trucs.

Voici donc une capture :
Screen_DB.png

et le lien : DrawBerry.

De plus, comme j'ai du développer quelques trucs nouveau pour ce softs (la loupe, l'historique d'annulation), je vous invite à  regarder dans la partie resource du forum ou je mettrais ces prochains jours (ce soir ?) du code réutilisable facilement.

Enfin, comme je n'ai plus vraiment le temps de développer ce logiciel, si quelqu'un veut le reprendre, il ne suffit que de demander ...
«1

Réponses

  • LeChatNoirLeChatNoir Membre, Modérateur
    19:27 modifié #2
    Téléchargé et testé rapidement...
    Je n'ai qu'un mot à  dire : [size=20pt] BRAVO !![/size]
    <3 <3 <3 <br />J'avais découvert WouldjaDraw dans le même style mais 30$.
    Je n'ai pas encore poussé les possibilités de DrawBerry mais ça m'a l'air complet.
    Merci et encore félicitations !
  • AntilogAntilog Membre
    19:27 modifié #3
    Super!

    La loupe,  c'est le truc de la mort qui tue!  :o

    Je suppose qu'il est normal de voir (un peu) par transparence le dessin que la loupe cache?
  • valosxvalosx Membre
    19:27 modifié #4
    pas mal !


    un peu gener par les comportements de la loupe ... mais on si habitue !

    par contre pourquoi ne pas l'avoir fait en imageunit ?


    j'aimerais bien aussi savoir comment tu a fait pour la scrollbar... je cherche depuis quelques jours, mon truc marche presque, mais sa deconne encore ;-)


    en tous cas bravo !

  • fouffouf Membre
    19:27 modifié #5
    Salut.

    Ce n'est pas en image unit car je ne connais pas bien tout simplement. Et puis aussi un peu parce que c'est un logiciel de dessin vectoriel et non de dessin bitmap.

    Pour la scrollbar, tu veux parler du bouton de zoom ou d'autre choses ?
  • valosxvalosx Membre
    19:27 modifié #6
    dans 1203199850:

    Salut.

    Ce n'est pas en image unit car je ne connais pas bien tout simplement. Et puis aussi un peu parce que c'est un logiciel de dessin vectoriel et non de dessin bitmap.

    Pour la scrollbar, tu veux parler du bouton de zoom ou d'autre choses ?

    Oui c'est bien du zoom. En fait je suis arrivé a intégrer mon truc dans la barre mais je n'arriva pas a lui donner la bonne taille ...
    pour le coup du vectoriel j'y avais pas penser sur le coup ;-)

  • fouffouf Membre
    avril 2008 modifié #7
    Bonjour à  tous.

    Voila donc une nouvelle version de DrawBerry, la 0.5.

    Voici donc les nouveautés introduites dans cette version :
    • Une nouvelle barre contextuelle
    • Un nouvel outil : l'outil texte
    • Un nouveau mode de modification d'une ligne brisée ou d'une courbe de bézier : le remplacement d'une partie du tracé entre deux points
    • Possibilité d'ajouter du texte le long d'une forme
    • Plus d'actions peuvent maintenant être annulées


    Je voudrais donc connaitre votre avis sur cette version et surtout si vous trouvez des bugs, faites moi signe (avec le log si c'était possible).

    Voila le lien : DrawBerry

    Bon tests  :fouf):
  • CrazyJoCrazyJo Membre
    19:27 modifié #8
    Alors:

    Problème avec la barre d'outil qui se déplace sur l'interface lorsque l'on redimensionne la fenêtre.

    image2up5.th.png

    Lorsque je rouvre l'application serait serait pas mal que les sous-menus s'ouvrent directement si ceux-ci étaient ouvert lors de la précédente utilisation du soft

    Il faudrait aussi pouvoir importer une image en arrière plan pour pouvoir utiliser les courbes beziers pleinement ^^.

    Sinon je trouve que l'animation dans la barre des menus de la fenêtre principal est vraiment très très très chouette ! ;)
  • fouffouf Membre
    19:27 modifié #9
    Pour le problème du bouton, j'ai corrigé chez moi, désolé pour ce désagrément.

    A vrai dire tu peux déjà  ouvrir une image avec le logiciel et ca te la mettra en arrière plan, sur un des calques, mais faut bien dire que je ne trouve pas ca très très pratique. Je verrais comment je peux améliorer tout ca.
    Pareil pour les onglets, je corrigerais ca dans la prochaine version.

    En tous cas merci beaucoup pour ce test et ces encouragements (je mettrais le code d'ici peu sur le site).
  • fouffouf Membre
    19:27 modifié #10
    Bon, avec quelques semaines de retard, voici la version final 0.5 de DrawBerry.

    Si vous aviez des suggestions pour le futur, je suis ouvert à  tout.
  • fouffouf Membre
    19:27 modifié #11
    Coucou.

    Voila arrivée la version 0.6 (encore en beta) de DrawBerry. Jetez-y un coup d'oeil, voilà  les nouveautées : Release Notes.

    A télécharger ici : [url=http://raphaelbost.free.fr/DrawBerry_0.6àŸ1.zip]DrawBerry[/url]
    Pour zyeuter le code source regarder sur Launchpad, la page de DrawBerry, section code.
  • Paisible.frPaisible.fr Membre
    19:27 modifié #12
    Je l'ai téléchargé et tester deux minutes. Très impressionnant, excellent travail  o:)
    Si j'ai l'occasion j'essayerais de la tester un peu plus, mais j'ai déjà  du mal à  trouver du temps pour tester la mienne d'appli...

    En tout cas félicitations et bon courage pour la suite 
  • Philippe49Philippe49 Membre
    19:27 modifié #13
    dans 1218991872:

    DrawBerry, section code.


    Très intéressant ... 
  • 19:27 modifié #14
    Moi ce qui m'intéresse c'est l'effet loupe, comment que tu l'as fait ?  :o
  • fouffouf Membre
    19:27 modifié #15
    dans 1219041542:

    Moi ce qui m'intéresse c'est l'effet loupe, comment que tu l'as fait ?  :o


    Si tu regardes dans les sources, il faut que tu ailles voir les fichiers commencant pas DBMagnifying.

    DBMagnifyingController est juste la classe controlleur de l'interface, qu'il faut appeler pour afficher la fenêtre de la loupe et récupérer la vue correspondant à  la loupe elle même.
    DBMagnifyingWindow correspond juste à  une fenêtre dont l'arrière-plan est vide.

    DBMagnifyingView est la classe vraiment importante :
    Il faut lui assigner une source (variable _source). Ensuite, la vue calcule les coordonnées du point situé juste en dessous de la loupe (_magnifyingPoint - il est à  noter que j'ai écrit ce code pour que le point de la vue correspondant au centre de la loupe ne corresponde pas forcément au point situé juste sous la loupe).
    Le dessin en lui même se fait de la façon suivante :
    - On calcule le rectangle correspondant à  la partie zoomée de la vue :
    <br />sourceRect.size.width = [self frame].size.width;<br />sourceRect.size.height = [self frame].size.height ;<br />sourceRect.size.width /= _zoom;<br />sourceRect.size.height /= _zoom;<br />sourceRect.origin = _magnifyingPoint;<br />sourceRect.origin.x -= sourceRect.size.width /2.0;<br />sourceRect.origin.y -= sourceRect.size.height /2.0;<br />
    


    - On crée une transformation affine correspondant au zoom voulu :
    transform = [NSAffineTransform transform];<br />[transform scaleBy:_zoom]<br />
    


    - Et c'est la qu'intervient le truc "malin", on fait appel au drawRect: de la vue que l'on veut zoomer après avoir fait le concat de la transformation.
    <br />[transform concat];<br />[_source drawRect:sourceRect];<br />
    


    Voilà .
    Le reste du code est là  pour avoir une jolie fenêtre en rond et une loupe d'une forme bizarre, mais le plus important est résumé ici ...
  • 19:27 modifié #16
    Ha ben dis donc c'est tout con, je savais pas que NSAffineTansform pouvait faire un scale  :o
  • fouffouf Membre
    19:27 modifié #17
    Bonjour (bonne nuit) tout le monde.

    Hop hop hop, voila une nouvelle version de mon petit logiciel.
    Au programme :
    - aspect des fenetres HUD un peut remanié
    - remplacement de l'ancien panneau de dégradé par un panneau fait maison
    - l'état (ouvert - fermé) des fenetre et des onglets est maintenant sauvegardé
    - quelques autres corrections de bugs ...

    Pour télécharger, c'est ici : [url=http://raphaelbost.free.fr/DrawBerry_0.7àŸ2.zip]DrawBerry[/url]

    Joyeux Noel à  tous ...
  • Paisible.frPaisible.fr Membre
    19:27 modifié #18
    Roooh le joli cadeau de Noël que voila !  :adios!:

    Merci à  toi. Et bonne fêtes de fin d'année !
  • schlumschlum Membre
    décembre 2008 modifié #19
    dans 1219080383:

    Ha ben dis donc c'est tout con, je savais pas que NSAffineTansform pouvait faire un scale  :o


    Il te manque une petite culture mathématique alors  :P
    ça se voit soit en Tle S spé Maths, sinon en prépa... Les matrices de transformation (isométries).
    - Rotations
    - Translations
    - Vissages

    http://fr.wikipedia.org/wiki/Rotation_dans_l'espace
    http://fr.wikipedia.org/wiki/Translation_(géométrie)
    http://fr.wikipedia.org/wiki/Vissage

    Et les homothéties dont tu parles, et qui sont les plus simples vu qu'il ne s'agit que de la matrice identité multipliée par un facteur :
    http://fr.wikipedia.org/wiki/Homothétie
  • schlumschlum Membre
    19:27 modifié #20
    Et j'ajoute que c'est quand même primordial d'en savoir un minimum sur le sujet, il y a plein d'algorithmes basés dessus !
  • 19:27 modifié #21
    dans 1230113023:

    dans 1219080383:

    Ha ben dis donc c'est tout con, je savais pas que NSAffineTansform pouvait faire un scale  :o


    Il te manque une petite culture mathématique alors  :P
    ça se voit soit en Tle S spé Maths, sinon en prépa... Les matrices de transformation (isométries).
    - Rotations
    - Translations
    - Vissages

    http://fr.wikipedia.org/wiki/Rotation_dans_l'espace
    http://fr.wikipedia.org/wiki/Translation_(géométrie)
    http://fr.wikipedia.org/wiki/Vissage

    Et les homothéties dont tu parles, et qui sont les plus simples vu qu'il ne s'agit que de la matrice identité multipliée par un facteur :
    http://fr.wikipedia.org/wiki/Homothétie



    1) Moi et les maths ça fait 10
    2) Jviens d'une simple STI Génie Electronique
    3) J'suis à  peine en première année de prépa  ;D
  • schlumschlum Membre
    19:27 modifié #22
    Ben, en génie électronique vous n'avez pas fait un peu d'automatique / robotique ?  :P
  • fouffouf Membre
    19:27 modifié #23
    Et hop, une autre version, 0.8 cette fois.

    Pas de trucs radicalement nouveaux, surtout des améliorations de ce qui existait déjà .
    Les release notes sont là 
    Et pour télécharger, c'est ici : DrawBerry
  • mai 2009 modifié #24
    dans 1241820540:

    Et hop, une autre version, 0.8 cette fois.

    Pas de trucs radicalement nouveaux, surtout des améliorations de ce qui existait déjà .
    Les release notes sont là 
    Et pour télécharger, c'est ici : DrawBerry


    Haa t'as enfin pris le temps de faire une mise à  jour  :o

    @schlum : Tu parles du "DI" (Dessin Industriel)... ça faisait 10 avec moi ça aussi :D


    Bon pour commencer :
    • J'ai le panneau "New" au lancement.. superposé au message du donationware
    • Si je peux te conseiller un truc niveau interface, pour les panneaux Inspector, c'est d'éviter le resize en largeur des panels, c'est super chiant.
    • J'ai pas compris à  quoi servent les fleches Up & Down.. à  déplacer l'object non? Ben ça ne marche pas :(
  • fouffouf Membre
    19:27 modifié #25
    dans 1241861911:

    • J'ai le panneau "New" au lancement.. superposé au message du donationware
    • Si je peux te conseiller un truc niveau interface, pour les panneaux Inspector, c'est d'éviter le resize en largeur des panels, c'est super chiant.
    • J'ai pas compris à  quoi servent les fleches Up & Down.. à  déplacer l'object non? Ben ça ne marche pas :(



    • Je viens de régler ca chez moi à  coup de setLevel:
    • De toutes façons, il va falloir que je repense un peu les inspecteurs pour faire un truc mieux (onglets détachables, ...), mais c'est en effet une bonne remarque ;)
    • C'est pour changer la position relative des objets dans le calque (revient à  faire Objet-> Monter ou Objet -> Descendre


  • schlumschlum Membre
    19:27 modifié #26
    dans 1241861911:
    @schlum : Tu parles du "DI" (Dessin Industriel)... ça faisait 10 avec moi ça aussi :D


    Non, d'automatique
  • 19:27 modifié #27
    dans 1241989148:

    dans 1241861911:
    @schlum : Tu parles du "DI" (Dessin Industriel)... ça faisait 10 avec moi ça aussi :D


    Non, d'automatique

    Non on en a pas fait du tout :|
  • vico92vico92 Membre
    19:27 modifié #28
    et bien fouf, impressionante ton appli,
    Adobe a du souci à  se faire ^^

    Chez moi j'ai un bug lorsque je déplace une palette, celle-ci suit la souris pendant un moment puis shift d'un seul coup d'au moins 400 pixels vers la droite...

    Un snap entre les palettes serait pratique pour les juxtaposer.

    Moi j'aime bien l'idée des palettes qui resizent selon les besoins car du coup elles utilisent seulement la surface nécéssaire, et comme je comprends aussi ce que disait Eagleouk, il faudrait alors que le resize se fasse vers la gauche et non vers la droite (et mettre les flèches déroulantes à  droite du label, du coup).

    Enfin bravo, c'est bcp de taf ce que tu as fait ^^
  • fouffouf Membre
    19:27 modifié #29
    Merci beaucoup pour ton message vico.

    A vrai dire je n'arrive pas à  reproduire le bug que tu me signales. Avec quelle palette cela se produit-il ? Comment la déplace-tu ?

    Sinon, pour les inspecteurs, c'est décidé, je revois ca dans la prochaine version histoire que ca reste définitivement stable pour la version 1.0

    Bonne soirée ...
  • vico92vico92 Membre
    19:27 modifié #30
    dans 1242413179:


    A vrai dire je n'arrive pas à  reproduire le bug que tu me signales. Avec quelle palette cela se produit-il ? Comment la déplace-tu ?



    Le bug ne se produit qu'avec la palette Page, les autres ne le font pas. Lorsque je la déplace dans un sens ou un autre, la fenêtre saute à  une autre position tandis que mon curseur de souris reste bien à  sa place.
    Je viens de tester à  nouveau, pas de problème au lancement de l'appli, puis le bug revient au bout de 1 ou 2 minutes à  manipuler la palette. Mais c'est peut-être juste sur mon mac.
  • fouffouf Membre
    19:27 modifié #31
    J'ai eu un peu de temps pour apporter des corrections plus ou moins importantes à  cette version 0.8 :
    - le parseur SVG a été grandement amélioré, DrawBerry arrive à  lire des fichiers SVG assez complexes et qui ne sont pas toujours écris convenablements

    - et quelques bug fixes ...

    Si vous pouviez me confirmer que cette version ne contient aucun bug, j'en serais très reconnaissant ;)

    DrawBerry 0.8 Release Candidate
Connectez-vous ou Inscrivez-vous pour répondre.