| Logiciel de pixel art - OniPix (nom temporaire) | |
|
+5Mobi Nickeau Térence Wargamer onilink_ 9 participants |
Auteur | Message |
---|
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Logiciel de pixel art - OniPix (nom temporaire) Ven 12 Avr 2013 - 0:01 | |
| OniPix MsPaint++ Téléchargement: http://host-a.net/u/onilink_/OniPix_0.1.1.7zNécessite les DLL de Qt: http://host-a.net/u/onilink_/dll_qt.7zVoici un logiciel de pixel art qui se voudra par la suite remplacer complètement msPaint. Il intégreras toutes ses fonctionnalités plus de nombreuses autres, et seras multiplate-forme (windows/linux/mac). Ce seras aussi une composante d'onidev (un peu modifié) pour l’édition des sprites. Avancement: 10% Features importantes manquantes: -toolbar pour les layers -palette -undo/redo (ctrl+Z/Y) Prévu: Fait: (vide) Priorité max: * Priorité min: *** -Barre d'outils- Sélection rectangle Sélection ellipse** Sélection forme** Sélection polygonale** Baguette magique** Remplacement de couleurs Pot de peinture Pipette (pas encore avec Alt) Recadrage** Loupe Crayon Gomme Ligne Courbe* Rectangle** Ellipse** Rectangle Isometrique** Ellipse Isometrique** Aérographe** Texte*** Symétrie ** -Menu Outils- Roundrect*** Polygone*** Cube Isometrique*** -Menu Filtre- Restauration JPEG*** Rotsprite*** Inverser les couleurs*** -Menu Previsualisation- Afficher la miniature** Previsualiser Animation** Previsualiser Tiles** -Menu Image- Compter le nombre de couleurs (de l'image ou d'une sélection)* Afficher la palette (//)** Rotation** Retourner Horizontalement* Retourner Verticalement* Étirer** -Engine- Calques: fonctionnels Transparence: fonctionnelle Sélections: fonctionnelle, possibilité d'importer/exporter depuis le clipboard Undo/Redo: todo --Spécifications-- Global: -Possibilité d'utiliser des calques -Composante alpha supportée -Undo/Redo, avec mémoire ram utilisable max paramétrable (todo) -deux brushs en même temps (clic gauche/droit) avec possibilité d'avoir des tailles différentes -sélecteur de couleur avancé (todo) -module d'animation (todo) -module de création de tiles (todo) -module de création de palettes (todo) Sélection: -3 modes dont un comme dans paint (normal et transparence 2ieme couleur) ->3ieme mode: Possibilité de garder uniquement les couleurs de l'image = a la 2ieme couleur. Pratique pour faire des masquages. -Appuyer sur shift pour utiliser la sélection comme une brush. Crayon: -possibilité de changer la taille de la brush (ctrl + clic -> todo) -possibilité de tracer des lignes avec shift -> todo -2 brush utilisables avec clic gauche et droit, chaque brush ayant une couleur et une taille Remplacement de couleurs: -cliquer sur un pixel pour changer sa couleur en la couleur assigné au bouton de la souris --Raccourcis-- Ctrl+C / Ctr+V / Ctr+X / Ctrl+A / Del => manipuler la selection -Alt => pipette -> todo -Espace + clic gauche => Bouger la vue -une lettre pour chaque outil (y réfléchir)
Dernière édition par onilink_ le Jeu 25 Avr 2013 - 0:10, édité 3 fois |
|
| |
Wargamer *Excellent utilisateur*
Messages : 6938 Projet Actuel : Bataille de cake au fruits
| Sujet: Re: Logiciel de pixel art - OniPix (nom temporaire) Ven 12 Avr 2013 - 1:16 | |
| Super, enfin un remplacant à l'éditeur de GM. _________________ Règle #1 du CBNA, ne pas chercher à faire dans la subtilité; personne comprend |
|
| |
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
| Sujet: Re: Logiciel de pixel art - OniPix (nom temporaire) Ven 12 Avr 2013 - 7:01 | |
| - Wargamer a écrit:
- Super, enfin un remplacant à l'éditeur de GM.
+1 je l'utilise encore celui-là Donc bonne continuation oni ! _________________ Je suis partie sur les ailes du vent et la tempête m'a ramenée.
|
|
| |
Nickeau Utilisateur confirmé: Rang *
Messages : 175 Projet Actuel : Cruma Forest
| Sujet: Re: Logiciel de pixel art - OniPix (nom temporaire) Ven 12 Avr 2013 - 11:02 | |
| Sympa l'appli !! vivement la suite. Quand je vois le truc qu'on se tape sous GM .... mm la version pro ne permet pas d'utiliser des calques ? parce que lorsque sur une animation de 50 images je veux changer un détails |
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Logiciel de pixel art - OniPix (nom temporaire) Ven 12 Avr 2013 - 13:28 | |
| Eh bien merci a vous :b Pour GM non pas de calques Si vous avez des idées de features a ajouter n’hésitez pas a en faire la demande, je verrais si j'arrive a les ajouter |
|
| |
Nickeau Utilisateur confirmé: Rang *
Messages : 175 Projet Actuel : Cruma Forest
| Sujet: Re: Logiciel de pixel art - OniPix (nom temporaire) Ven 12 Avr 2013 - 13:49 | |
| Voila un logiciel de pixel art que j'ai trouvé hyper sympa, dessiner grâce à une banque de tiles. Malheureusement je ne l'utilise pas car je trouve pas ça pratique de bosser sur ma tab/smartphone et de rebalancer ça sous Windows pour l'importer dans GM. En plus je n'ai pas trouvé comment changer la taille (32*32 ... 64*64 ...). Bon ça s'éloigne assez de ton logiciel ... |
|
| |
Mobi Utilisateur confirmé: Rang ****
Messages : 1256 Localisation : Dijon
| Sujet: Re: Logiciel de pixel art - OniPix (nom temporaire) Ven 12 Avr 2013 - 14:27 | |
| je veux un outil rogner (comme publisher) désolé si il est déjà dans la liste _________________ |
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Logiciel de pixel art - OniPix (nom temporaire) Ven 12 Avr 2013 - 14:33 | |
| |
|
| |
Nickeau Utilisateur confirmé: Rang *
Messages : 175 Projet Actuel : Cruma Forest
| Sujet: Re: Logiciel de pixel art - OniPix (nom temporaire) Ven 12 Avr 2013 - 17:27 | |
| C'est l'équivalent de Resize Canvas sous GM. |
|
| |
marty Utilisateur confirmé: Rang ***
Messages : 697 Projet Actuel : laby-ereinte !
| Sujet: Re: Logiciel de pixel art - OniPix (nom temporaire) Ven 12 Avr 2013 - 19:11 | |
| tout fonctionne correctement chez moi!
+:gestion de la taille du pinceau/gomme +:le menu couleur +:gestion de la transparence dans le copier coller +:le remplissage (pot de peinture) +:le menu filtre/générer (grille..)
- c'est pas fini..
mon soft idéal:
j'aimerais l'éditeur de Gm avec en plus:
-pouvoir utiliser toutes les transformations de l'éditeur seulement avec une zone sélectionnée (et non toute l'image) . utiliser le "remplisseur" (pot de peinture avec ce que l'on veut ) un peu à la manière des textures dans la 3 d. avoir un détourage aussi performant que photofiltre. pouvoir exporter cette image 2d en 3 d avec le voxelizer.(en créent facilement la heightmap avec un système de outline (concerver juste le contour de "l'objet") et y appliquer en remplissage un des gradient fil de gm pour organiser le volume en 3d)
voilà pour moi le soft idéal. (si je peux aider de quelques manière que se soit )
|
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Logiciel de pixel art - OniPix (nom temporaire) Ven 12 Avr 2013 - 19:50 | |
| Je finis les fonctions essentielles et je verrais pour ajouter tout ça :b Pour voxelizer il auras son propre générateur de heightmap donc pas la peine de se prendre la tête dans ce soft la Déjà faut absolument que je fasse les fonctions save&load sinon c'est pas vraiment utilisable >< |
|
| |
Nickeau Utilisateur confirmé: Rang *
Messages : 175 Projet Actuel : Cruma Forest
| Sujet: Re: Logiciel de pixel art - OniPix (nom temporaire) Ven 12 Avr 2013 - 20:16 | |
| Le save/load met le en DLC |
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Logiciel de pixel art - OniPix (nom temporaire) Ven 12 Avr 2013 - 20:30 | |
| Faut pas rire avec les DLC (nonon je pense pas a Mass Effect 3 ) |
|
| |
Craki Utilisateur confirmé: Rang ****
Messages : 1496 Localisation : Dans l’univers de métamatière
| Sujet: Re: Logiciel de pixel art - OniPix (nom temporaire) Ven 12 Avr 2013 - 22:13 | |
| J'ai hâte de voir à quoi ça ressemblera une fois complété. _________________ |
|
| |
Wargamer *Excellent utilisateur*
Messages : 6938 Projet Actuel : Bataille de cake au fruits
| Sujet: Re: Logiciel de pixel art - OniPix (nom temporaire) Sam 13 Avr 2013 - 1:19 | |
| Je me fout de ce que tu fait, mais laisse le menu simple. Pas comme photoshop où t'as besoin d'un tuto pour savoir comment se servir de chaque outil. _________________ Règle #1 du CBNA, ne pas chercher à faire dans la subtilité; personne comprend |
|
| |
D-z Utilisateur confirmé: Rang *****
Messages : 1611 Localisation : Montpellier
| Sujet: Re: Logiciel de pixel art - OniPix (nom temporaire) Sam 13 Avr 2013 - 1:28 | |
| Une fonction pour extraire une palette d'une photographie peut être sympa. _________________ Home is not a place, it's a feeling.
|
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Logiciel de pixel art - OniPix (nom temporaire) Sam 13 Avr 2013 - 11:01 | |
| Ah oui j'ai oublié de le noté mais c'étais au programme x) Plutôt important de savoir combien on utilise de couleurs quand on fait du pixel art |
|
| |
marty Utilisateur confirmé: Rang ***
Messages : 697 Projet Actuel : laby-ereinte !
| Sujet: Re: Logiciel de pixel art - OniPix (nom temporaire) Sam 13 Avr 2013 - 15:40 | |
| est il possible d'ajouter le système qui permet de découper une image en un tableau d'image comme l’éditeur de background de GM (fonction également dispo chez photofiltre il me semble).
merci
|
|
| |
blendman Utilisateur confirmé: Rang **
Messages : 433 Projet Actuel : Crée des jeux, logiciels, BD, Romans et nouvelles.
| Sujet: Re: Logiciel de pixel art - OniPix (nom temporaire) Ven 20 Sep 2013 - 21:32 | |
| salut Dis-moi, j'aurai une question sur ton logiciel. Comment gères-tu le zoom ? C'est lié à Qt (en gros, ils le font de base) ou c'est toi qui gères ça , Si c'est toi, comment procèdes-tu ? Tu agrandis l'image et tu ne dessines que ce que l'on voit à l'écran ? Une autre question : concernant le trait au crayon, c'est aussi un truc interne à Qt ou tu as du le gérer par toi-même ? Si c'est toi, tu as utilisé quel algorythme ? Merci pour tes réponse |
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Logiciel de pixel art - OniPix (nom temporaire) Ven 20 Sep 2013 - 21:43 | |
| Héhé, tu comptes passer ton painter sous Qt? :b
Pour le zoom a vrai dire c'est le truc le plus dur que j'ai eu a gérer, ça m'a bloqué beaucoup de temps (j'ai du laisser tomber le projet genre 2 ans a cause de ça quand j'avais voulu le commencer). Donc le zoom, Qt le gère plus ou moins, en fait tu affiches tout dans une QGraphicsScene, le soucis c'est que si tu la zoom et que t'as une grosse image dedans ça rame a mort. Du coup j'ai fait un système de tiles (de QGraphicsPixmapItem, ce qu'on affiche dans la scene), j'ai ma QImage ou je dessine tout, et a chaque fois que je dessine dessus j'update les tiles qui ont a être update en dessinant la partie de ma QImage en question dessus. Ça me permet d'avoir un zoom fluide, mais ça reste ****** a utiliser. Genre pour le dessin de ligne il faut trouver un algo qui update les tiles en question. Faut passer par un Bresenham par ex.
Donc pour le trait au crayon, le dessin est en interne, mais l'update faut la faire soit même.
Au niveau du zoom j'ai beaucoup cherché et j'ai pas trouvé mieux, et pourtant j'ai testé beaucoup de trucs: -intégrer un canvas openGL, mais il donnais des saccades a ma scrollarea donc j'ai pas continué (truc tout con mais qui rend l'appli pas fluide) -dessiner seulement la partie visible de la QImage (surface de dessin) sur un widget: ça rame -d'autres trucs plus ou moins similaires
Et niveau perfs les QGraphicsPixmapItem ça marche vachement bien, j'ai testé mon appli sur un très vieille ordi, et c'étais super fluide :b |
|
| |
blendman Utilisateur confirmé: Rang **
Messages : 433 Projet Actuel : Crée des jeux, logiciels, BD, Romans et nouvelles.
| Sujet: Re: Logiciel de pixel art - OniPix (nom temporaire) Sam 21 Sep 2013 - 10:03 | |
| - onilink_ a écrit:
- Héhé, tu comptes passer ton painter sous Qt? :b
en fait, non pas du tout ^^, je fais toujours mes codes en purebasic, je ne connais pas vraiment Qt. J'avais testé il y a quelques années, mais sans avoir vraiment le temps de me mettre au c++. Je n'ai toujours le temps de m'y mettre, pitet un jour . Je vais essayer d'adapter ta technique avec mon application de dessin (que j'ai refaite en purebasic entièrement, mais qui rame avec les grandes images et les zooms). - Citation :
- Pour le zoom a vrai dire c'est le truc le plus dur que j'ai eu a gérer, ça m'a bloqué beaucoup de temps (j'ai du laisser tomber le projet genre 2 ans a cause de ça quand j'avais voulu le commencer).
J'ai rencontré exactement le même problème. - Citation :
- Donc le zoom, Qt le gère plus ou moins, en fait tu affiches tout dans une QGraphicsScene, le soucis c'est que si tu la zoom et que t'as une grosse image dedans ça rame a mort.
en fait, il augmente la taille de l'image j'imagine, non ? La plupart des zooms, à part ceux qui sont opengl, augmente la taille de l'image quand ils zooment, sauf ceux qui utilisent des tiles, qui n'affichent que les tiles qui sont à l'écran. - Citation :
- Du coup j'ai fait un système de tiles (de QGraphicsPixmapItem, ce qu'on affiche dans la scene), j'ai ma QImage ou je dessine tout, et a chaque fois que je dessine dessus j'update les tiles qui ont a être update en dessinant la partie de ma QImage en question dessus.
Comment détermines-tu les tiles à updater ? Tu as une sorte de liste ou de tableau de tiles et tu updates ceux qui sont proches de ta souris ? - Citation :
- Ça me permet d'avoir un zoom fluide, mais ça reste ****** a utiliser. Genre pour le dessin de ligne il faut trouver un algo qui update les tiles en question. Faut passer par un Bresenham par ex.
Tu pourrais me filer ton algo que je vois si je peux l'adapter en purebasic ? - Citation :
- Au niveau du zoom j'ai beaucoup cherché et j'ai pas trouvé mieux, et pourtant j'ai testé beaucoup de trucs:
-intégrer un canvas openGL, mais il donnais des saccades a ma scrollarea donc j'ai pas continué (truc tout con mais qui rend l'appli pas fluide) -dessiner seulement la partie visible de la QImage (surface de dessin) sur un widget: ça rame -d'autres trucs plus ou moins similaires moi aussi, j'ai testé pas mal de choses. Pour le moment, le meilleur truc que j'ai trouvé c'est de découper mon image en tile, et de ne dessiner que sur la tile sur laquelle la souris se trouve. Le problème, c'est que ça ne marche pas encore avec un algo de trait. Forcément, car la souris ne passe pas directement sur la tile et il peut manquer des morceaux. Du coup, je vais tester cette méthode dont tu parles : - créer une image normale - dessiner dessus - updater les tiles en questions Reste à trouver quels sont ces tiles à updater . - Citation :
- Et niveau perfs les QGraphicsPixmapItem ça marche vachement bien, j'ai testé mon appli sur un très vieille ordi, et c'étais super fluide :b
je ne sais pas trop ce qu'est l'équivalent de ce QGraphicsPixmapItem, c'est une surface directX ou autre chose ? Merci pour les infos en tout cas. |
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Logiciel de pixel art - OniPix (nom temporaire) Sam 21 Sep 2013 - 10:17 | |
| Sous Qt une pixmap c'est le truc le plus rapide a afficher, donc ça doit être une texture en mémoire ram tout simplement (d'ou l'interet de dessiner sur une QImage qui est un tableau). Alors pour l'update j'ai 2 fonctions pour pouvoir traiter la ligne, une qui update un point de taille paramétrable, et une qui update la ligne avec l'algo de lucas je crois. - Code:
-
static void pointTiles(int x, int y, int r, QVector<QPoint>& points) { if(r == 1) { if(x<0 || y<0 || x>=Canvas::wid || y>=Canvas::hei) return;
int dx = x/SIZE; int dy = y/SIZE;
QPoint pt(dx, dy); if(qFind(points, pt) == points.end()) points.push_back(pt); return; } int cl, cr, cu, cd; r /= 2;
cl = (x-r)/SIZE; cr = (x+r)/SIZE; cu = (y-r)/SIZE; cd = (y+r)/SIZE;
if(cl>=0 && cu>=0 && cl*SIZE<Canvas::wid && cu*SIZE<Canvas::hei) { QPoint pt(cl, cu); if(qFind(points, pt) == points.end()) points.push_back(pt); } if(cr != cl) { if(cr>=0 && cu>=0 && cr*SIZE<Canvas::wid && cu*SIZE<Canvas::hei) { QPoint pt(cr, cu); if(qFind(points, pt) == points.end()) points.push_back(pt); } if(cd != cu && cr>=0 && cd>=0 && cr*SIZE<Canvas::wid && cd*SIZE<Canvas::hei) { QPoint pt(cr, cd); if(qFind(points, pt) == points.end()) points.push_back(pt); } } if(cd != cu && cd != cu && cl>=0 && cd>=0 && cl*SIZE<Canvas::wid && cd*SIZE<Canvas::hei) { QPoint pt(cl, cd); if(qFind(points, pt) == points.end()) points.push_back(pt); } }
// A refaire/optimiser void TileUpdater::updateLine(int x1, int y1, int x2, int y2, int r) { QVector<QPoint> points;
int Dx = x2-x1, Dy = y2-y1, x=x1, y=y1; if(Dx < 0)Dx = -Dx; if(Dy < 0) Dy = -Dy;
int xincr, yincr;
if(x1<x2) xincr = 1; else xincr = -1;
if(y1<y2) yincr = 1; else yincr = -1;
pointTiles(x1, y1, r, points); if(Dx>Dy) { float erreur = Dx/2; for(int i=0;i<Dx;i+=1) { x += xincr; erreur += Dy; if(erreur>Dx) { erreur -= Dx; y += yincr; } pointTiles(x, y, r, points); } } else { float erreur = Dy/2; for(int i=0;i<Dy;i+=1) { y += yincr; erreur += Dx; if(erreur>Dy) { erreur -= Dy; x += xincr; } pointTiles(x, y, r, points); } } pointTiles(x2, y2, r, points);
for(int i=0; i<points.size(); i++) { int x = points[i].x(), y = points[i].y(); //qDebug() << points[i]; RenderLayer::updateTile(x, y); RenderLayer::layers[RenderLayer::currentLayer]->empty[x][y] = false; } } C'est quand même pas mal lourd mais ça passe sans soucis avec un langage compilé. Je compte faire une opti le jour ou j'aurais le temps Pour les tiles a afficher en fait c'est les scènes Qt qui s'en occupent automatiquement. Toi tu ajoutes tes éléments et Qt les dessines en utilisant des algos genre BSP (totalement inutile pour des tiles d'ailleurs). Pour le zoom l'objet scene de Qt propose une methode de zoom, qui en général fonctionne a merveille sauf si tu as une trop grosse image dedans. |
|
| |
Contenu sponsorisé
| Sujet: Re: Logiciel de pixel art - OniPix (nom temporaire) | |
| |
|
| |
| Logiciel de pixel art - OniPix (nom temporaire) | |
|