Avril 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 |
|
| | 2D_IMAGE_COPY d'une seule ligne | |
| | Auteur | Message |
---|
JL35
Nombre de messages : 7095 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: 2D_IMAGE_COPY d'une seule ligne Ven 16 Mai 2014 - 16:28 | |
| Il semble qu'on ne puisse pas copier une seule ligne d'une image avec 2D_IMAGE_COPY, mais qu'il faut systématiquement au moins 2 lignes ou plus: Exemple: - Code:
-
DIM y% PICTURE 1: TOP 1,10: LEFT 1,10: WIDTH 1,240: HEIGHT 1,100 COLOR 1,255,0,0: ' émetteur rouge PICTURE 2: TOP 2,10: LEFT 2,260: WIDTH 2,240: HEIGHT 2,100 COLOR 2,255,255,0: ' récepteur jaune IMAGE 3 FOR y%=0 TO 99: ' recopie de picture 1 dans picture 2 ligne par ligne 2D_TARGET_IS 1: 2D_IMAGE_COPY 3,0,y%,239,y% 2D_TARGET_IS 2: 2D_IMAGE_PASTE 3,0,y% NEXT y% END ça ne marche que si on met à la ligne 8: - Code:
-
2D_TARGET_IS 1: 2D_IMAGE_COPY 3,0,y%,239,y%+1 ou y%+2, etc. ou quelque chose m'échappe ? | |
| | | Klaus
Nombre de messages : 12274 Age : 74 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: 2D_IMAGE_COPY d'une seule ligne Ven 16 Mai 2014 - 16:47 | |
| Exact. J'ai déjà constaté cela aussi. Cela a sûrement à voir avec la définition d'un rectange dont la largeur ne doit pas être nulle, et le rectangle se détermine par (x1,y1)->(x2,y2). Or, si y1=y2, la hauteur est nulle, et si x1=x2, la largeur est nulle.
Passe par une boucle sur un seul point, le long de la ligne choisie. | |
| | | JL35
Nombre de messages : 7095 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: 2D_IMAGE_COPY d'une seule ligne Ven 16 Mai 2014 - 17:00 | |
| Bonjour Klaus, c'est bien ce que j'ai pensé également, mais ce n'est pas normal quand même, une ligne est un rectangle d'un pixel de hauteur...
Il y a évidemment des échappatoires (heureusement), en fait c'est pour transférer une image ligne par ligne, alors le transfert pixel par pixel, avec les 2d_Point et 2d_Pen_Color est beaucoup plus long ! Dans mon cas je transfère 2 lignes au lieu d'une à chaque fois, mais je voulais signaler le fait. | |
| | | Klaus
Nombre de messages : 12274 Age : 74 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: 2D_IMAGE_COPY d'une seule ligne Ven 16 Mai 2014 - 17:07 | |
| Eh oui, je suis d'accord avec toi. Un problème de +/-1 dans Panoramic, certainement. | |
| | | papydall
Nombre de messages : 6996 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: 2D_IMAGE_COPY d'une seule ligne Ven 16 Mai 2014 - 19:00 | |
| - JL35 a écrit:
- une ligne est un rectangle d'un pixel de hauteur...
Je n’en suis pas si sûr ! Pour un rectangle, on fait - Code:
-
2d_rectangle x1,y1,x2,y2
La largeur du rectangle est : Largeur = x2 – x1La hauteur du rectangle est : Hauteur = y2 – y1Maintenant, si on fait - Code:
-
2d_rectangle 100,50,300,50
On n’obtient rien, car les dimensions du rectangle attendu sont : Largeur = 300-100 = 200 Hauteur = 50-50 = 0Par contre - Code:
-
2d_rectangle 100,50,300,51
On obtient une ligne horizontale considérée comme rectangle de dimensions : Largeur = 300-100 = 200 Hauteur = 51-50 = 1 - Code:
-
2d_rectangle 100,50,300,50 : ' pas de tracé : rectangle de hauteur 0 (50-50) 2d_rectangle 100,50,300,51 : ' Une ligne horizontale : rectangle de hauteur 1 (51-50) 2d_rectangle 200,50,200,200 : ' pas de tracé : rectangle de largeur 0 (200-200) 2d_rectangle 200,50,201,200 : ' Une ligne verticale : rectangle de largeur 1 (201-200)
Ça c’est ce que je pense, mais l’évidence n’est pas la réalité ! | |
| | | JL35
Nombre de messages : 7095 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: 2D_IMAGE_COPY d'une seule ligne Ven 16 Mai 2014 - 20:09 | |
| Certes papydall, on peut pinailler tant qu'on veut, mais pour moi, si je reprends ton exemple: - Code:
-
2d_rectangle 100,50,300,51 dans 2d_rectangle on ne donne pas les dimensions, mais les pixels de départ et d'arrivée, INCLUS, c'est à dire en hauteur du pixel 50 au pixel 51, ce qui fait bien théoriquement 2 lignes, et non une seule. On devrait donc pouvoir tracer un rectangle d'une seule ligne de hauteur, ce qui apparemment n'est pas possible. Tout se passe comme si le paramètre d'arrivée était 'exclus', et comme si le rectangle était tracé de y1 à y2-1, ce que je trouve anormal. | |
| | | Klaus
Nombre de messages : 12274 Age : 74 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: 2D_IMAGE_COPY d'une seule ligne Ven 16 Mai 2014 - 23:38 | |
| Justement, Jl35. Dans la définition de "rectangle dans le sens Windows, ce qu'on nomme TRECT, on a le coin en haut à gauche qui est inclus, et le coin en bas à droite qui est exclus. Le problème vient de là, et le pense que la définition de rectangle dans Panoramic n'est pas assez précise et conforme à celle de Windows. | |
| | | JL35
Nombre de messages : 7095 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: 2D_IMAGE_COPY d'une seule ligne Sam 17 Mai 2014 - 0:09 | |
| Merci pour la précision Klaus, c'est probablement l'explication, mais alors c'est une subtilité que je ne connaissais pas. Pour moi les coordonnées données ont toujours été celles de départ et d'arrivée comprises, comme c'était le cas dans les basics précédents. Et ce serait bien que ce soit précisé dans la doc, parce que c'est rudement ambigü. | |
| | | Klaus
Nombre de messages : 12274 Age : 74 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: 2D_IMAGE_COPY d'une seule ligne Dim 18 Mai 2014 - 23:06 | |
| Exact. Il y adéjà eu une discussion à ce sujet, ou plutôt au sujet du traçage d'un rectangle de largeur 2 pixel. Et la conclusion était qu'il fallait utiler le traçage d'un trait horizontal ou vertical au lieu d'un recangle. | |
| | | Contenu sponsorisé
| Sujet: Re: 2D_IMAGE_COPY d'une seule ligne | |
| |
| | | | 2D_IMAGE_COPY d'une seule ligne | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |