Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Exemple de dessin dans un picture chargé | |
| | Auteur | Message |
---|
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Exemple de dessin dans un picture chargé Ven 11 Déc 2009 - 0:15 | |
| Pour Cosmos Cet exemple n'est pas très élaboré, je l'ai extrait d'un programme que j'avais fait pour extraire une photo d'identité aux normes officielles d'une image. Evidemment tu dois changer le 'f$ =' ci-dessous pour y mettre un bmp à toi - Code:
-
dim f$ dim xc, yc, lc, hc, xce, yce, ang, r xc = 150: yc = 100: lc = 150: hc = int(lc*9/7)
f$ = "C:\Graph\BMP\IMG256.bmp"
PICTURE 1: WIDTH 1, 640: HEIGHT 1, 480
FILE_LOAD 1, f$: REM affichage de l'image principale
REM dessin du cadre d'identité 2D_TARGET_IS 1 2D_PEN_COLOR 255, 64, 64: REM rouge clair 2D_PEN_WIDTH 2 2D_POLY_FROM xc, yc 2D_POLY_TO xc+lc-1, yc 2D_POLY_TO xc+lc-1, yc+hc-1 2D_POLY_TO xc, yc+hc-1 2D_POLY_TO xc, yc REM limites du visage (haut du front, base du menton) 2D_PEN_COLOR 0, 255, 255: REM cyan clair 2D_LINE xc, yc+INT(4*lc/35), xc+lc-1, yc+INT(4*lc/35) 2D_LINE xc, yc+INT(38*lc/35), xc+lc-1, yc+INT(38*lc/35) REM limites de la position des yeux 2D_PEN_COLOR 255, 255, 64: REM jaune 2D_LINE xc, yc+INT(13*lc/35), xc+lc-1, yc+INT(13*lc/35) 2D_LINE xc, yc+INT(23*lc/35), xc+lc-1, yc+INT(23*lc/35) REM dessin de l'ovale du visage 2D_PEN_COLOR 64, 255, 255: REM cyan clair r = INT(17*lc/35) xce = xc + r yce = yc + INT(21*lc/35) 2D_POLY_FROM xce, yce + r FOR ang = 0 TO 8*ATN(1) STEP 0.1 2D_POLY_TO xce + INT(.75*r*SIN(ang)), yce + INT(r*COS(ang)) NEXT ang end (j'ai édité ce vieux post le 24/12 juste pour essayer une balise bbcode (codebox), pour constater que ça ne marche pas ici. Dont acte)
Dernière édition par JL35 le Jeu 24 Déc 2009 - 9:54, édité 3 fois | |
| | | Invité Invité
| Sujet: Re: Exemple de dessin dans un picture chargé Ven 11 Déc 2009 - 2:00 | |
| Je te remercie pour ton exemple. J'ai chargé ton programme et j'ai mis un des mes fichiers, et ça marche. J'ai essayé de voir la différence avec mon programme et je n'ai pas vraiment vu de différence et j'ai chargé le même fichier dans mon programme et cette fois ci cela fonctionne encore. Pourtant j'avais encore fait l'essai avant de faire mon post. Mais maintenant, j'ai remplacé un fichier "bmp" par un fichier "jpg", et là ça ne marche plus. Pourtant: - Citation :
- Un objet PICTURE est utilisé pour visualiser un bitmap BMP ou JPG(avec la commande LOAD_FILE)
Ça ne correspond pas avec la notice, et je ne me souviens pas si oui ou non j'ai fais l'essai auparavant. Surement non, à moins qu'il y a des différences selon la version de Panoramic. Merci beaucoup JL35, mais les photo en JPG, c'est ce que j'utilise normalement. Bonne nuit |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Exemple de dessin dans un picture chargé Ven 11 Déc 2009 - 7:59 | |
| | |
| | | Invité Invité
| Sujet: Re: Exemple de dessin dans un picture chargé Ven 11 Déc 2009 - 10:15 | |
| Bonjour Jean Claude Vois-tu, avant de me servir de Panoramic, mes programmes étaient fait comme tu le sais maintenant avec Just-Basic. Avec celui-ci on ne pouvait charger les images qu'en BMP. J'étais donc obligé de faire la transformation de tout mon fichier avec justement photofiltre que je connais, et qui possède en autre une fonction macro pour automatiser le procédé (il est très bien ce logiciel, car il est rapide et de plus la grosseur d'un fichier n'ai pas énorme, j'avais fait différent essais avec plusieurs programmes, l'un d'eux me transformait la même photo en 20 MG alors qu'avec photofiltre 2 MG suffisait). Mais cela augmente le travail, qui n'est plus un automatisme, il faut passer par un programme intermédiaire. Comprends-moi, modifier une deux ou trois photos dans le temps, ça ne me gène pas, mais lorsqu'on conçoit un logiciel, on a à coeur que tout se fasse sans problème. Lorsque j'ai vu les possibilités de PANORAMIC, c'est justement le faite qu'il accepte de charger les images en JPG QUI M'A DÉTERMINER le choix de ce logiciel. Et j'ai refait mes programmes en Panoramic. Maintenant tu veux que je revienne en arrière, et laisser de côté mon choix déterminant? Justbasic pour moi n'a pas les avantages de Panoramic, mais permet plusieurs choses: avec GETBMP de prendre une partie de l'image, avec DRAWBMP de choisir une partie de l'image et la déplacer etc (je ne suis pas sur ce poste pour faire la pub pour l'autre logiciel, je suis certain qu'il n'en font pas pour celui-ci). Maintenant, je sais que je suis nul en tout, et que beaucoup de choses m'échappent, mais moi je pensais que pour charger une image dans une fenêtre, un cadre, un picture ou autre, il fallait la décompresser, et si celle-ci est décompressée, pourquoi ne peut-on pas faire la même chose qu'avec BMP?, à moins que Dieu intervienne et fasse un miracle pour afficher les images et que tout se fait tout seul. Je ne sais plus quoi penser. Je vais apporter les modifs dans le poste des bugs pour que l'affirmation soit vrai. A+ |
| | | Invité Invité
| Sujet: Re: Exemple de dessin dans un picture chargé Ven 11 Déc 2009 - 13:22 | |
| Je me demande pourquoi, mais chez moi ça affiche rien qu'une image.
??? ?????? ??? ??????? |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Exemple de dessin dans un picture chargé Ven 11 Déc 2009 - 14:09 | |
| Je crois que tu as raison cosmos, on peut charger dans un picture soit des images .BMP, soit des images .JPG, mais on ne peut réécrire que sur des images bitmap (BMP), sinon erreur: - Code:
-
Can only modify an image if it contains a bitmap Pour ma part je fais comme Jean Claude, je convertis mes images en BMP (par programme, avec IrfanView qui accepte la ligne de commande, donc tout peut être automatique et transparent) avant de bricoler dessus, quite à les reconvertir ensuite en JPG après traitement, ce n'est pas trop contraignant. La restriction peut se comprendre, ça doit être beaucoup plus compliqué pour le concepteur de changer des pixels dans une image jpg que dans une bmp. Une petite remarque pour Jack: même si je mets error_french j'ai toujours cette erreur en anglais. Cosmos: J'ai modifié un peu le début de mon exemple, pour te montrer avec les images JPG: - Code:
-
dim f$ dim xc, yc, lc, hc, xce, yce, ang, r dim iview$, fm$ xc = 150: yc = 100: lc = 150: hc = int(lc*9/7)
f$ = "C:\Graph\JPG\Rafale.jpg" iview$ = "C:\Progra~1\Irfanv~1\i_view32.exe " fm$ = "C:\Temp\image.bmp"
EXECUTE_WAIT iview$ + f$ + " /convert=" + fm$
PICTURE 1: WIDTH 1, 640: HEIGHT 1, 480
FILE_LOAD 1, fm$: REM affichage de l'image principale
' etc. etc. le reste sans changement Remarque: - ça implique d'avoir installé IrfanView (gratuit et très bien, et gros avantage pour le programmeur, accepte la ligne de commande, ce que ne fait pas je crois photofiltre, donc il est transparent à l'exécution: /convert est une des nombreuses commandes possibles). - j'ai mis son chemin d'accès (constante iview$) en format abrégé, car pour le moment EXECUTE ne tolère pas les espaces dans le nom. - et après tu peux sauvegarder si tu veux ton image résultat (dessin sur picture) en BMP (FILE_SAVE), puis la reconvertir en JPG avec IrfanView, tout pareil automatique. Alors, elle est pas belle, la vie ? | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Exemple de dessin dans un picture chargé Ven 11 Déc 2009 - 15:34 | |
| J'ai dit ma façon de faire, je n'ai pas dit que c'était la solution miracle. Comme je programme surtout coté buisiness, les images ne me sont pas indispensables. C'était pour le coup de main, mais je vois que, l'un et l'autre, vous n'en n'aviez pas besoin.
A+ | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Exemple de dessin dans un picture chargé Ven 11 Déc 2009 - 15:48 | |
| Mais si, Jean Claude, c'est à chacun de choisir ce qui lui convient le mieux dans la façon de faire des autres, en fonction de ses besoins propres. Et c'est toujours instructif de voir comment font les autres. Apparemment cosmos voudrait gérer des images jpg (comme moi, quand on fait pas mal de photos numériques depuis déjà quelque temps), et là il a besoin d'automatismes, j'ai été confronté aux mêmes problèmes. Déjà c'est un énorme progrès avec Panoramic par rapport à Qbasic de pouvoir afficher ses images, à partir de là la porte est ouverte à tout un tas d'applications. Et si en plus on peut les modifier...
J'ai essayé Nconvert au lieu de IrfanView, mais il est beaucoup plus lent. Et contrairement à irfanview il fait apparaître une brève fenêtre à l'exécution, ce n'est pas joli. Donc je l'ai recalé. | |
| | | Jack Admin
Nombre de messages : 2394 Date d'inscription : 28/05/2007
| Sujet: Re: Exemple de dessin dans un picture chargé Ven 11 Déc 2009 - 18:23 | |
| En effet, il y a un problème quand on veut dessiner sur une image en format JPG, chargée par FILE_LOAD. C'est un bug et je ne m'en étais jamais aperçu. En investiguant davantage, j'ai vu d'autres bugs. Par exemple, sur certaines images BMP codées sur 16 ou 24 bits, les couleurs de la commande 2D_PEN_COLOR ne sont pas correctement rendues.
Merci de signaler tous les bugs que vous pouvez découvrir. Vous faites ainsi avancer ce logiciel.
Ces bugs sont en cours de résolution. La correction sera terminée demain. Je mettrai ensuite demain ou au plus tard après demain une version "instantanée" corrigée, avec laquelle on pourra dessiner sur une image JPG.
Ainsi cosmos70 pourra continuer son travail.
Encore merci.
PS: dans le futur, PANORAMIC acceptera beaucoup plus de formats d'image que le BMP et le JPG, mais ça, c'est une autre histoire... | |
| | | Invité Invité
| Sujet: Re: Exemple de dessin dans un picture chargé Ven 11 Déc 2009 - 18:42 | |
| Merci de ta réponse, surtout que cette nuit, j'ai constaté une erreur du type que tu dis, mais je n'arrivais pas à savoir avec précision ce que c'était. J'ai mis chaque commande dans une liste, et j'ai vu qu'en effaçant le PICTURE soit par 2D_CLEAR, ou par color (picture),255,255,255, la réécriture des commandes avec 2D_RECTANGLE, il n'y a que la bordure du rectangle qui a sa couleur, le "FILL" lui est plutôt du genre gris marron noir. Parfois ça marche mais rarement. On ne peut pas refaire le dessin en entier à partir d'une liste en respectant les couleurs de départ. Apparemment, avec 2D_LINE, il n'y a pas de problème. Je n'ai fais pour l'instant que ces 2 commandes en essais. J'étais parti sur ce type de programmation pour pouvoir modifier un dessin, dont on a commit une erreur, et pouvoir le modifier, soit pour retirer une ligne, la modifier, ou insérée une autre ligne. Je signale que cette constatation est faite sans avoir chargé d'image dans PICTURE, seulement en dessinant. Merci d'avoir "jeté un oeil" sur ce post. @+ Si tu veux Jack, je t'envoie le programme pour faire l'essai. Il n'est pas fini, seulement en étude. |
| | | Invité Invité
| Sujet: Re: Exemple de dessin dans un picture chargé Sam 12 Déc 2009 - 13:22 | |
| QUEL CON! je suis Cela fait 2 jours que je mets au point un programme et que je me sers en même temps, et je ne comprenais pas pourquoi lors de la réécriture des lignes, l'intérieur des rectangles ne convenait pas en couleur. Dans mon fouillis de codage (je remplis les lignes au maxi), par copier/coller j'ai mis la même commande pour 2D_FILL_COLOR que 2D_PEN_COLOR, et je viens seulement de m'en apercevoir. Jack maudit-moi! pour les bugs qui n'existe pas IL N'Y A PAS D'ERREUR SUR LES COMMANDES DE DESSIN à ma connaissance. |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Exemple de dessin dans un picture chargé Sam 12 Déc 2009 - 15:11 | |
| çà, c'est le danger du copier/coller, cela m'arrive souvent. | |
| | | Invité Invité
| Sujet: Re: Exemple de dessin dans un picture chargé Sam 12 Déc 2009 - 23:25 | |
| J'utilise en ce moment le Panoramic dernier cru, et je me trouve devant un problème. Apparemment Jack a changé les fonctions de STRETCH_ON et STRETCH_OFF. Jusqu'à présent une image se chargeais dans les dimensions d'un picture, avec adaptation ou non de l'image dans celui-ci, mais maintenant c'est le contraire. J'ai surtout pas intérêt à perdre les versions précédentes, parce que cela me fout tout en l'air. mes programmes sont fait avec les caractéristiques du basic, mais si on change la donne en cour de route, ça pose problème. Alors là, il faudrait surtout pas que les basics soient limités dans le temps, parce que le travail est ensuite perdu. Désolé d'être dur, mais j'ai été surpris. @+ |
| | | Contenu sponsorisé
| Sujet: Re: Exemple de dessin dans un picture chargé | |
| |
| | | | Exemple de dessin dans un picture chargé | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |