FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
rectangle à coins arrondis Emptypar Pedro Aujourd'hui à 8:08

» Un autre pense-bête...
rectangle à coins arrondis Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
rectangle à coins arrondis Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
rectangle à coins arrondis Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
rectangle à coins arrondis Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
rectangle à coins arrondis Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
rectangle à coins arrondis Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
rectangle à coins arrondis Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
rectangle à coins arrondis Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
rectangle à coins arrondis Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
rectangle à coins arrondis Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
rectangle à coins arrondis Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
rectangle à coins arrondis Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
rectangle à coins arrondis Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
rectangle à coins arrondis Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
-20%
Le deal à ne pas rater :
Drone Dji DJI Mini 4K (EU)
239 € 299 €
Voir le deal

 

 rectangle à coins arrondis

Aller en bas 
+2
Klaus
Minibug
6 participants
AuteurMessage
Invité
Invité




rectangle à coins arrondis Empty
MessageSujet: rectangle à coins arrondis   rectangle à coins arrondis EmptySam 15 Aoû 2015 - 16:04

J'avais envie de demander de l'aide pour faire des rectangles à coins arrondis. Je ne sais plus si cela a déjà été développé, à part le rectangle à partir d'une hyperbole je crois de Papydall. Finalement j'ai trouvé cette solution. Je crois que Klaus a fait aussi une commande, mais là la dll est interdite pour mon programme.

J'ai été au plus simple selon mes connaissances.

Code:

' teste de bouton arrondis (cosmos70)
label fin  : width 0,1000 : height 0,700 : top 0,100 : on_close 0,fin
picture 2:full_space 2

' left,top,width,height, rayon des angles , picture de destination
  ' margeGauche,margeHaut,  larg , haut, rayon , picture
  teste(  20  ,  10    ,  300  , 250 ,  20  , 2)

  teste(30,20,100,30,5,2)
  teste(150,300,200,100,4,2)
' wait 2000 : 2d_fill_off : 2d_rectangle 30,20,130,50  :' contrôle
end
===================================================
sub teste(mg,mh,w,h,r,p)
  w = w-r+r/2 : h = h-r+r/2
  dim_local a,i
  for a = 1 to 2000 : if object_exists(a) = 0 then exit_for
  next a
  picture a : left a,520:width a,100:height a,100  : hide a
  2d_target_is a : 2d_pen_color 0,0,255 : 2d_pen_width 1 : 2d_fill_color 230,230,255
  for i = a to 2000: if object_exists(i) = 0 then exit_for
  next i
  image i
 
  2d_target_is a : 2d_fill_off
  2d_circle 50,50,r
  2d_image_copy i,50-r,50-r,50,50  :' haut gauche

  2d_target_is p : 2d_fill_off
  2d_image_paste i,mg,mh
 
  2d_pen_color 0,0,255 : 2d_pen_width 1 : 2d_fill_color 230,230,255
  2d_line mg+r,mh, mg+w -r ,mh  :' haut
 
  2d_target_is a : 2d_image_copy i,50,50-r,50+r,50      : ' haut droite
  2d_target_is p : 2d_image_paste i,mg+w-r,mh
  2d_line mg,mh+r,mg,mh+h-r      :' gauche
 
  2d_target_is a : 2d_image_copy i,50-r , 50 , 50, 50+r  :' bas gauche
  2d_target_is p : 2d_image_paste i,mg,mh+h -r

  2d_line mg+w,mh+r,mg+w,mh+h-r  :' droit

  2d_line mg+r,mh+h,mg+w -r,mh+h :' bas
  2d_target_is a : 2d_image_copy i,50  ,50, 50+r , 50+r
  2d_target_is p : 2d_image_paste i,mg + w-r,mh+h-r
  2d_flood mg+w/2,mh+h/2, 240,240,255
  delete a : delete i
end_sub

fin:
terminate

Reste plus que mettre des paramètres pour les couleurs des cadres, du fond, et largeur du trait, mais cela commence à faire.
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

rectangle à coins arrondis Empty
MessageSujet: Re: rectangle à coins arrondis   rectangle à coins arrondis EmptySam 15 Aoû 2015 - 17:42

Salut Cosmos70 et bonsoir a tous !

J'ai modifié un peu ton code en essayant de le simplifier.
J'ai utilisé par exemple la commande 2D_RECTANGLE. Ensuite j'ai inclus dans les paramètres la couleur de l'objet.
Cela rends le code un peu plus simple, bien qu'il ne soit pas très compliqué !  Wink

Code:
' teste de bouton arrondis (cosmos70 modifié par minibug)
width 0,1000 : height 0,700 : top 0,100
picture 1 : full_space 1

' left , top , width , height , rayon_angles , couleur_rouge , couleur_vert , couleur_bleu
teste(20,10,300,250,20,255,0,0,0,0,0)
teste(30,20,100,30,5,0,255,0,255,255,255)
teste(150,300,200,100,4,0,0,0,0,0,255)

end

sub teste(mg,mh,w,h,r,cbr,cbv,cbb,cr,cv,cb)
  w=w-r : h=h-r
  dim_local a,i

  ' on determine la couleur de bordure et la largeur du trait par defaut
  2d_pen_color cbr,cbv,cbb : 2d_pen_width 1

  ' on determine les valeurs de a et i
  a=1 : REPEAT : a=a+1 : UNTIL object_exists(a)=0 : picture a : hide a
  i=a : REPEAT : i=i+1 : UNTIL object_exists(i)=0 : image i

  ' Determine la couleur de fond du cercle selon la couleur de fond du rectangle en left-1,top-1
  COLOR a,COLOR_PIXEL_BLUE(1,mg-1,mh-1),COLOR_PIXEL_GREEN(1,mg-1,mh-1),COLOR_PIXEL_RED(1,mg-1,mh-1)
 
  ' on  trace le rectangle et le cercle
  2d_target_is 1 : 2d_fill_color cr,cv,cb : 2D_RECTANGLE mg,mh,w+mg,h+mh
  2d_target_is a : 2d_fill_color cr,cv,cb : 2d_circle 50,50,r

  ' On ajoute ensuite les 4 quarts de cercle aux 4 coins du rectangle
  2d_target_is a : 2d_image_copy i,50-r,50-r,50,50 : 2d_target_is 1 : 2d_image_paste i,mg,mh : ' haut gauche
  2d_target_is a : 2d_image_copy i,50,50-r,50+r,50 : 2d_target_is 1 : 2d_image_paste i,mg+w-r,mh : ' haut droite
  2d_target_is a : 2d_image_copy i,50-r , 50 , 50, 50+r : 2d_target_is 1 : 2d_image_paste i,mg,mh+h -r :' bas gauche
  2d_target_is a : 2d_image_copy i,50  ,50, 50+r , 50+r : 2d_target_is 1 : 2d_image_paste i,mg + w-r,mh+h-r : ' bas droit

  ' On supprime le picture a et l'image i
  delete a : delete i
end_sub


Dernière édition par Minibug le Sam 15 Aoû 2015 - 18:16, édité 2 fois
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

rectangle à coins arrondis Empty
MessageSujet: Re: rectangle à coins arrondis   rectangle à coins arrondis EmptySam 15 Aoû 2015 - 18:01

A mon avis, le début de la SUB devrait être:
Code:
sub teste(mg,mh,w,h,r,rr,vv,bb)
  w=w-r : ' +r/2
  h=h-r : ' +r/2
Je pense que le "+r/2" gêne plus qu'autre chose, car le rayon de courbure souhaitée ne peut plus s'exprimer normalement.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

rectangle à coins arrondis Empty
MessageSujet: Re: rectangle à coins arrondis   rectangle à coins arrondis EmptySam 15 Aoû 2015 - 18:06

Bonsoir klaus !

Je viens de mettre a jour en tenant compte de ta remarque et effectivement les angle 'collent' mieux au rectangle.
Merci
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

rectangle à coins arrondis Empty
MessageSujet: Re: rectangle à coins arrondis   rectangle à coins arrondis EmptySam 15 Aoû 2015 - 18:18

Bien ! Et voici une version sans IMAGE auxiliaire, encore plus simple:
Code:
' teste de bouton arrondis (cosmos70 modifié par minibug)
label fin  : width 0,1000 : height 0,700 : top 0,100 : on_close 0,fin
picture 1:full_space 1

' no_pic, left , top , width , height , rayon_angles , couleur_rouge , couleur_vert , couleur_bleu
teste(1,20,10,300,250,20,0,0,0)
teste(1,30,20,100,30,5,255,255,255)
teste(1,150,300,200,100,10,0,0,255)

end

===================================================

sub teste(pic,mg,mh,w,h,r,rr,vv,bb)
  w=w-r : ' +r/2
  h=h-r : ' +r/2
  dim_local a,i

  2d_target_is pic
  ' on determine la couleur de bordure et la largeur du trait par defaut
  2d_pen_color 0,0,0 : 2d_pen_width 1 : 2d_fill_color rr,vv,bb
  
  ' on trace 2 rectangles "en croix"
  2d_pen_color rr,vv,bb : 2d_fill_color rr,vv,bb
  2d_rectangle mg+r,mh  ,mg+w-r,mh+h
  2d_rectangle mg  ,mh+r,mg+w  ,mh+h-r
  ' on trace les 4 cercles
  2d_circle    mg+r  ,mh+r  ,r
  2d_circle    mg+w-r,mh+r  ,r
  2d_circle    mg+r  ,mh+h-r,r
  2d_circle    mg+w-r,mh+h-r,r
end_sub

fin:
terminate
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

rectangle à coins arrondis Empty
MessageSujet: Re: rectangle à coins arrondis   rectangle à coins arrondis EmptySam 15 Aoû 2015 - 18:33

Et en simplifiant encore un peu, on arrive a ça :

Code:
' teste de bouton arrondis (cosmos70 modifié par minibug et klaus)
width 0,1000 : height 0,700 : top 0,100
picture 1:full_space 1 : 2d_target_is 1

' no_pic, left , top , width , height , rayon_angles , couleur_rouge , couleur_vert , couleur_bleu
teste(1,20,10,300,250,20,0,0,0)
teste(1,30,20,100,30,5,255,255,255)
teste(1,150,300,200,100,10,0,0,255)

end

sub teste(pic,mg,mh,w,h,r,rr,vv,bb)
  w=w-r : h=h-r

  ' on determine la couleur de bordure et la largeur du trait par defaut
  2d_pen_width 1 : 2d_pen_color rr,vv,bb : 2d_fill_color rr,vv,bb

  ' on trace 2 rectangles "en croix"
  2d_rectangle mg+r,mh  ,mg+w-r,mh+h : 2d_rectangle mg  ,mh+r,mg+w  ,mh+h-r

  ' on trace 4 cercles
  2d_circle  mg+r ,mh+r ,r : 2d_circle mg+w-r,mh+r ,r : 2d_circle  mg+r ,mh+h-r,r : 2d_circle  mg+w-r,mh+h-r,r
end_sub


Dernière édition par Minibug le Sam 15 Aoû 2015 - 20:09, édité 1 fois
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Invité
Invité




rectangle à coins arrondis Empty
MessageSujet: Re: rectangle à coins arrondis   rectangle à coins arrondis EmptySam 15 Aoû 2015 - 18:53

J'ai des problèmes avec le forum, impossible de cliquer sur réponse, il n'y a pas de bouton ( et d'autre choses aussi)

Voila qui est bien. Je n'aurai pas eu de meilleurs réponses si j'avais demandé de l'aide pour faire cela. Pour ce qui est du rayon, j'avais modifié, car un rectangle  à la place des tracés, n'avait pas les mêmes proportions, et j'avoue avoir été au plus rapide, pour passer à autre chose.

Merci de vos interventions.

(apparemment l'affichage se fait au bon endroit, car j'ai pas de référence pour cet envoi).
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

rectangle à coins arrondis Empty
MessageSujet: Re: rectangle à coins arrondis   rectangle à coins arrondis EmptySam 15 Aoû 2015 - 21:05

Et tant qu'on y est on pourrait faire des fenêtres, des boutons, etc...

Code:
' teste de bouton arrondis (cosmos70 modifié par minibug et klaus)
width 0,1000 : height 0,700 : top 0,100 : BORDER_HIDE 0 : FULL_SPACE 0
picture 1 : full_space 1 : 2d_target_is 1 : print_target_is 1 : FONT_SIZE 1,10

fenetre(20,10,300,250,"fenêtre 1")
fenetre(300,50,400,300,"fenêtre 2")
fenetre(50,200,500,500,"fenêtre 3")
fenetre(700,30,350,700,"fenêtre 4")

bouton(500,600,150,50,"Bouton 1")

end

sub fenetre(mg,mh,w,h,t$)
  box(mg,mh,w,h,200,200,200)
  box(mg+5,mh+5,w-10,25,220,220,220)
  PRINT_LOCATE mg+10,mh+5 : PRINT t$
  box(mg+5,mh+30,w-10,h-35,150,150,150)
end_sub

sub bouton(mg,mh,w,h,t$)
  box(mg,mh,w,h,200,200,200)
  box(mg+5,mh+5,w-10,h-10,220,220,220)
  PRINT_LOCATE mg+(w/2)-(TEXT_WIDTH(t$,1)/2)-3,mh+(h/2)-TEXT_HEIGHT(t$,1)+7 : PRINT t$
end_sub

sub box(mg,mh,w,h,rr,vv,bb)
  w=w-5 : h=h-5
  2d_pen_width 1 : 2d_pen_color rr,vv,bb : 2d_fill_color rr,vv,bb
  2d_rectangle mg+5,mh  ,mg+w-5,mh+h : 2d_rectangle mg  ,mh+5,mg+w  ,mh+h-5
  2d_circle  mg+5 ,mh+5 ,5 : 2d_circle mg+w-5,mh+5 ,5 : 2d_circle  mg+5 ,mh+h-5,5 : 2d_circle  mg+w-5,mh+h-5,5
end_sub
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Invité
Invité




rectangle à coins arrondis Empty
MessageSujet: Re: rectangle à coins arrondis   rectangle à coins arrondis EmptySam 15 Aoû 2015 - 23:10

En fin de soirée, impossible de communiquer.

Vous avez revu les calculs, mais les votres sont aussi fausses.. J'ai repris le code de Minibus, pas le dernier, mais celui de 18:33. Voici le résultat si je remplace par un rectangle aux dimensions voulus (comme width et height)

rectangle à coins arrondis Copi10

Il faut rajouter un rayon.
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

rectangle à coins arrondis Empty
MessageSujet: Re: rectangle à coins arrondis   rectangle à coins arrondis EmptySam 15 Aoû 2015 - 23:45

Désolé, Cosmos70: le mien est bon ! J'ai ajouté un rectangle encadrant légèrement grisé, et voici ce que ça donne:
rectangle à coins arrondis Aa119
et voici le code:
Code:
' teste de bouton arrondis (cosmos70 modifié par minibug)
label fin  : width 0,1000 : height 0,700 : top 0,100 : on_close 0,fin
picture 1:full_space 1

' no_pic, left , top , width , height , rayon_angles , couleur_rouge , couleur_vert , couleur_bleu
teste(1,20,10,300,250,20,0,0,0)
teste(1,30,20,100,30,5,255,255,255)
teste(1,150,300,200,100,10,0,0,255)

end

===================================================

sub teste(pic,mg,mh,w,h,r,rr,vv,bb)
  w=w-r : ' +r/2
  h=h-r : ' +r/2
  dim_local a,i

  2d_target_is pic

  ' on determine la couleur de bordure et la largeur du trait par defaut
  2d_pen_color 0,0,0 : 2d_pen_width 1 : 2d_fill_color 220,220,220
  2d_rectangle mg,mh,mg+w,mh+h
 
  ' on trace 2 rectangles "en croix"
  2d_pen_color rr,vv,bb : 2d_fill_color rr,vv,bb
  2d_rectangle mg+r,mh  ,mg+w-r,mh+h
  2d_rectangle mg  ,mh+r,mg+w  ,mh+h-r
  ' on trace les 4 cercles
  2d_circle    mg+r  ,mh+r  ,r
  2d_circle    mg+w-r,mh+r  ,r
  2d_circle    mg+r  ,mh+h-r,r
  2d_circle    mg+w-r,mh+h-r,r
end_sub

fin:
terminate
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Invité
Invité




rectangle à coins arrondis Empty
MessageSujet: Re: rectangle à coins arrondis   rectangle à coins arrondis EmptyDim 16 Aoû 2015 - 0:39

Pour ton code je ne dis pas le contraire. J'ai essayé au moment où j'ai pu me brancher, le code de Minibug de 18:33 je crois.
Voici le code avec les rectangles, et il y a problème:
Code:
' teste de bouton arrondis (cosmos70 modifié par minibug)
width 0,1000 : height 0,700 : top 0,100
picture 1:full_space 1 : 2d_target_is 1

' no_pic, left , top , width , height , rayon_angles , couleur_rouge , couleur_vert , couleur_bleu
teste(1,20,10,300,250,20,100,0,20)
teste(1,30,20,100,30,5,25,255,255)
teste(1,150,300,200,100,10,0,0,255)

' contrôle
2d_fill_off : 2d_pen_color 255,0,0
2d_rectangle 20,10,320,260
2d_rectangle 30,20,130,50
2d_rectangle 150,300,350,400

end

===================================================

sub teste(pic,mg,mh,w,h,r,rr,vv,bb)
  w=w-r : h=h-r :' cette ligne est de trop. Si on la retire, les rectangles coïncident.

  ' on détermine la couleur de bordure et la largeur du trait par defaut
  2d_pen_width 1 : 2d_pen_color rr,vv,bb : 2d_fill_color rr,vv,bb

  ' on trace 2 rectangles "en croix"
  2d_rectangle mg+r,mh  ,mg+w-r,mh+h : 2d_rectangle mg  ,mh+r,mg+w  ,mh+h-r

  ' on trace 4 cercles
  2d_circle  mg+r ,mh+r ,r : 2d_circle mg+w-r,mh+r ,r : 2d_circle  mg+r ,mh+h-r,r : 2d_circle  mg+w-r,mh+h-r,r
end_sub

@Minibug: J'ai réalisé les boutons et ceux d'autres objets selon un principe similaire, mais qui ne me plaisais pas dans la méthode. C'est le but de cette recherche.
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

rectangle à coins arrondis Empty
MessageSujet: Re: rectangle à coins arrondis   rectangle à coins arrondis EmptyDim 16 Aoû 2015 - 9:20

J'ai surement fait une erreur quelque pars !

C'est pas grave, maître Klaus veille... Laughing
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

rectangle à coins arrondis Empty
MessageSujet: Re: rectangle à coins arrondis   rectangle à coins arrondis EmptyDim 16 Aoû 2015 - 11:18

Dans le même état d'esprit, j'ai ajouté le rectangle à coins "grignotés":
Code:
' teste de bouton arrondis (cosmos70 modifié par minibug)
label fin  : width 0,1000 : height 0,700 : top 0,100 : on_close 0,fin
picture 1:full_space 1

' no_pic, left , top , width , height , rayon_angles , couleur_rouge , couleur_vert , couleur_bleu
RectangleArrondi(1,20,10,300,250,20,0,0,0)
RectangleArrondi(1,30,20,100,30,5,255,255,255)
RectangleArrondi(1,150,300,200,100,10,0,0,255)
' no_pic, left , top , width , height , rayon_angles , couleur_rouge , couleur_vert , couleur_bleu
RectangleArrondiInverse(1,400,20,300,250,20,255,0,0)

end

===================================================

sub RectangleArrondi(pic,mg,mh,w,h,r,rr,vv,bb)
  w=w-r : ' +r/2
  h=h-r : ' +r/2
  dim_local a,i

  2d_target_is pic

  ' on determine la couleur de bordure et la largeur du trait par defaut
'  2d_pen_color 0,0,0 : 2d_pen_width 1 : 2d_fill_color 220,220,220
'  2d_rectangle mg,mh,mg+w,mh+h
 
  ' on trace 2 rectangles "en croix"
  2d_pen_color rr,vv,bb : 2d_fill_color rr,vv,bb
  2d_rectangle mg+r,mh  ,mg+w-r,mh+h
  2d_rectangle mg  ,mh+r,mg+w  ,mh+h-r
  ' on trace les 4 cercles
  2d_circle    mg+r  ,mh+r  ,r
  2d_circle    mg+w-r,mh+r  ,r
  2d_circle    mg+r  ,mh+h-r,r
  2d_circle    mg+w-r,mh+h-r,r
end_sub

sub RectangleArrondiInverse(pic,mg,mh,w,h,r,rr,vv,bb)
  w=w-r : ' +r/2
  h=h-r : ' +r/2
  dim_local a,i

  2d_target_is pic

  ' on trace le rectangle
  2d_pen_color rr,vv,bb : 2d_fill_color rr,vv,bb
  2d_rectangle mg  ,mh  ,mg+w  ,mh+h
  ' on trace les 4 cercles
  2d_pen_color 255,255,255 : 2d_fill_color 255,255,255
  2d_circle    mg  ,mh  ,r
  2d_circle    mg+w,mh  ,r
  2d_circle    mg  ,mh+h,r
  2d_circle    mg+w,mh+h,r
end_sub


fin:
terminate

Voici ce que ça donne:
rectangle à coins arrondis Aa120
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

rectangle à coins arrondis Empty
MessageSujet: re   rectangle à coins arrondis EmptyDim 16 Aoû 2015 - 12:12

Heu...Klaus...il faut manger le matin...
...c' est pas bon les angles, ca irrite...
lol!

c' est bon, je l' ai faite, je sors...
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

rectangle à coins arrondis Empty
MessageSujet: Re: rectangle à coins arrondis   rectangle à coins arrondis EmptyDim 16 Aoû 2015 - 12:59

Salut tout le monde
Un rectangle à coins arrondis peut être obtenu en traçant une super_ellipse.
Equation paramétrique de la super_ellipse :
x = power(abs(cos(t)),2/n) * a * sgn(cos(t))
y = power(abs(sin(t)),2/n) * b * sgn(sin(t))
avec t variant de 0 à 2*pi avec un pas de pi/180


Code:

rem ============================================================================
rem      Super ellipse ou rectangle à coins arrondis
rem                  par papydall
rem ============================================================================
dim titre$
titre$ = "***** ***** SALUT TOUT LE MONDE ***** *****" + chr$(13) + "VOICI UN RECTANGLE A COINS ARRONDIS"
Super_ellipse(150,50,10,100,50,titre$)

end
rem ============================================================================
' Paramètres :
' a : demi-diamètre horizontal
' b : demi-diamètre vertical
' n : détermine la nature de la super-ellipse(hypo ou hyper-ellipse) et sa forme
' Plus la valeur de n augmente, plus la courbe obtenue tend vers un rectangle.
' x1,y1 : position du rectangle
' t$ : texte à afficher
SUB Super_ellipse(a,b,n,x1,y1,t$)
    dim_local pi,p,t,x,y,xc,yc,w,h
    dim_local cr,cg,cb
    cr = color_pixel_red(0,0,0)
    cg = color_pixel_green(0,0,0)
    cb = color_pixel_blue(0,0,0)
    pi = acos(-1) : p = pi/180
    w = width(0) : h = height(0) : xc = w/2 : yc = h/2
    x1 = x1-8 : y1 = y1-8

    picture 9999
    top 9999,y1 : left 9999,x1 : width 9999,2*(a+10) : height 9999,2*(b+10)
    xc = width(9999)/2 : yc = height(9999)/2 : color 9999,cr,cg,cb
'  color 9999,255,0,0
    2d_target_is 9999 : 2d_poly_from xc + a,yc
    2d_pen_width 4    : ' Vous pouvez REMer cette ligne
    for t = 0 to 2*pi step p
        x = power(abs(cos(t)),2/n) * a * sgn(cos(t))
        y = power(abs(sin(t)),2/n) * b * sgn(sin(t))
        2d_poly_to xc+x,yc+y
    next t
    2d_flood xc-a+10,yc,255,255,0
    alpha 9998 :top 9998, top(9999)+b :left 9998,left(9999)+a/4
    color 9998,255,255,255 : font_color 9998,0,0,255 : font_bold 9998
    caption 9998,t$
END_SUB
rem ============================================================================


Dernière édition par papydall le Dim 16 Aoû 2015 - 13:05, édité 1 fois
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

rectangle à coins arrondis Empty
MessageSujet: Re: rectangle à coins arrondis   rectangle à coins arrondis EmptyDim 16 Aoû 2015 - 12:59

Je préfère la méthode classique qui permet de faire des rectangles VIDES (ou pleins):
Code:
SUB Rectar(obj%,x%,y%,w%,h%,r%,et%,ct%,cf%)
' Tracé d'un rectangle à coins arrondis dans l'objet obj%
' en x%, y%, de largeur w%, hauteur h%, rayon de l'arrondi r%
' épaisseur trait et%, couleur trait ct%, couleur remplissage cf%
' (couleurs de la forme R*256*256 + G*256 + B)
' si cf% = -1: pas de remplissage
DIM_LOCAL a,cr%,cg%,cb%,xc%,yc%,ps,pi: pi = 4*ATN(1)
2D_TARGET_IS obj%
cr% = INT(ct%/65536): cg% = BIN_AND(ct%,65280)/256: cb% = BIN_AND(ct%,255)
2D_PEN_COLOR cr%,cg%,cb%: 2D_PEN_WIDTH et%: ' trait
cr% = INT(cf%/65536): cg% = BIN_AND(cf%,65280)/256: cb% = BIN_AND(cf%,255)
IF r% = 0
    IF cf% >= 0
        2D_FILL_COLOR cr%,cg%,cb%: 2D_RECTANGLE x%,y%,x%+w%,y%+h%: ' plein
    ELSE
        2D_LINE x%,y%,x%+w%,y%: 2D_POLY_TO x%+w%,y%+h%: ' vide
        2D_POLY_TO x%,y%+h%: 2D_POLY_TO x%,y%
    END_IF
ELSE
    ps = pi/r%
    xc% = x%+r%: yc% = y%+r%
    2D_LINE x%+w%-r%,y%,xc%,y%
    FOR a = pi/2 TO pi STEP ps
        2D_POLY_TO xc%+r%*COS(a),yc%-r%*SIN(a)
    NEXT a
    yc% = y%+h%-r%
    2D_POLY_TO x%,yc%
    FOR a = pi TO 3*pi/2 STEP ps
        2D_POLY_TO xc%+r%*COS(a),yc%-r%*SIN(a)
    NEXT a
    xc% = x%+w%-r%
    2D_POLY_TO xc%,y%+h%
    FOR a = 3*pi/2 TO 2*pi STEP ps
        2D_POLY_TO xc%+r%*COS(a),yc%-r%*SIN(a)
    NEXT a
    yc% = y%+r%
    2D_POLY_TO x%+w%,yc%
    FOR a = 0 TO pi/2+ps STEP ps
        2D_POLY_TO xc%+r%*COS(a),yc%-r%*SIN(a)
    NEXT a
    IF cf%>=0 THEN 2D_FLOOD xc%,yc%,cr%,cg%,cb%
END_IF
END_SUB
Salut papydall, on vient juste de se croiser !
Revenir en haut Aller en bas
Invité
Invité




rectangle à coins arrondis Empty
MessageSujet: Re: rectangle à coins arrondis   rectangle à coins arrondis EmptyLun 17 Aoû 2015 - 12:18

Merci à vous tous. Je viens de rentrer. Là-bas j'avais des problèmes avec internet, d'ailleurs je n'avais qu'une partie du forum ??? J'ai voulu poster à un moment, mais c'est resté bloqué.

Là j'ai le choix et pour l'instant je ne sais pas encore quel code je vais adopté. J'ai voulu testé une idée sur la copie de portion de cercle, et cela semblait meilleurs que le code que j'avais fait il y a un certain temps. C'était sur le principe de celui de Klaus, mais je m'étais "mal compris", et j'avais compliqué le principe. Çà ne me plaisais pas.
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

rectangle à coins arrondis Empty
MessageSujet: Re: rectangle à coins arrondis   rectangle à coins arrondis EmptyLun 17 Aoû 2015 - 21:11

Du coup, je pense que l'on peu change le titre du post en "rectangle à coins arrondis [résolu]" ... Very Happy
Revenir en haut Aller en bas
Invité
Invité




rectangle à coins arrondis Empty
MessageSujet: Re: rectangle à coins arrondis   rectangle à coins arrondis EmptyLun 17 Aoû 2015 - 22:56

Bonsoir.
Jicehel a écrit:
Du coup, je pense que l'on peu change le titre du post en "rectangle à coins arrondis [résolu]"

Je veux bien mettre résolu, mais au départ ce n'était pas une demande d'aide. J'ai proposé un code pour faire des rectangles avec des coins arrondis. On m'en a proposé d'autre qui sont mieux que ma proposition, mais ici c'est dans les utilitaires à partager. bounce

Il y a mon code, celui de Klaus (celui de Minibug a une erreur), celui de Papydall et de JL35. Manque Jicehel Jean-Claude , et bien d'autres! Very Happy (et Jack aussi, mais en natif bom )
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

rectangle à coins arrondis Empty
MessageSujet: Re: rectangle à coins arrondis   rectangle à coins arrondis EmptyLun 17 Aoû 2015 - 23:13

Très bien dit Idea
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

rectangle à coins arrondis Empty
MessageSujet: Re: rectangle à coins arrondis   rectangle à coins arrondis EmptyLun 17 Aoû 2015 - 23:20

C'est pas faux ...
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

rectangle à coins arrondis Empty
MessageSujet: Re: rectangle à coins arrondis   rectangle à coins arrondis EmptyLun 17 Aoû 2015 - 23:50

Citation :
Minibug a une erreur

C'est marrant ça !! lol!

Désolé je n'ai pas fais de correction, entre temps, il y a eu d'autres versions...
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

rectangle à coins arrondis Empty
MessageSujet: Re: rectangle à coins arrondis   rectangle à coins arrondis EmptyMar 18 Aoû 2015 - 2:44

Disons que le code de Minibug comporte une Maxibug ! rectangle à coins arrondis Sourire-broches-8539
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Invité
Invité




rectangle à coins arrondis Empty
MessageSujet: Re: rectangle à coins arrondis   rectangle à coins arrondis EmptyMar 18 Aoû 2015 - 6:45

Oui j'aurai pas du ajouter cette remarque. Il y a juste une ligne à supprimer pour faire la correction. Il a bien volontairement participé,et je l'en remercie.
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

rectangle à coins arrondis Empty
MessageSujet: Re: rectangle à coins arrondis   rectangle à coins arrondis EmptyMar 18 Aoû 2015 - 8:38

Mais si Cosmos tu as bien fais !

C'est moi qui ai déformé tes propos en ne prenant qu'une partie de la phrase et s'était volontaire ! Laughing
Un peu d'humour ne fait pas de mal... Wink

Bonne journée a tous sunny
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Contenu sponsorisé





rectangle à coins arrondis Empty
MessageSujet: Re: rectangle à coins arrondis   rectangle à coins arrondis Empty

Revenir en haut Aller en bas
 
rectangle à coins arrondis
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Triangle à coins arrondis
» Rectangles à coins arrondis. Encore !?
» Après les rectangles à coins arrondis ...
» Tracer un rectangle sur tout l'écran
» Rotation d'un rectangle

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: