FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Le Forum est en vacances.
par JL35 Aujourd'hui à 21:20

» Une autre façon de terminer une application.
par JL35 Hier à 14:27

» Compilateur FBPano
par Mike Lun 21 Aoû 2017 - 23:17

» Pb 20 (en analyse): plantage à l'appel d'un SUB
par Jack Lun 21 Aoû 2017 - 21:58

» Pb 19 (en analyse): libellé d'erreur dans des IF imbriqués
par Jack Lun 21 Aoû 2017 - 21:55

» Copier / coller du texte à partir de la fenêtre de commandes
par jean_debord Lun 21 Aoû 2017 - 9:46

» COMPILATEUR V 0.9 beta 8 du 18 aout 2017
par papydall Lun 21 Aoû 2017 - 5:01

» Mettre en windows en veille
par papydall Lun 21 Aoû 2017 - 4:15

» Stretch_on ne stretch plus...
par papydall Dim 20 Aoû 2017 - 15:22

» Pb 18 (en analyse): RESTORE_LABEL avec DATA à la fin
par Jack Dim 20 Aoû 2017 - 13:21

» Problème de traitement des opérateurs avec le compilateur.
par Pedro Alvarez Sam 19 Aoû 2017 - 20:01

» Pb 17 (résolu): ITEM_SELECT ne fonctionne pas
par Jack Jeu 17 Aoû 2017 - 19:26

» un nouveau editeur panobasic
par Jean Claude Jeu 17 Aoû 2017 - 10:18

» Le compilateur.
par Pedro Alvarez Jeu 17 Aoû 2017 - 8:36

» Pb 16 (résolu): ON_CLOSE plante à l'exécution
par Jack Mer 16 Aoû 2017 - 20:00

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Août 2017
LunMarMerJeuVenSamDim
 123456
78910111213
14151617181920
21222324252627
28293031   
CalendrierCalendrier

Partagez | 
 

 Outils couleurs

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : 1, 2, 3, 4  Suivant
AuteurMessage
Yannick

avatar

Nombre de messages : 7975
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: Outils couleurs   Jeu 18 Mai 2017 - 21:09

J' ai pondu cette outils pour mon éditeur.
Il n' y ait pas encore inclus mais qu' en pensez vous ?

Code:
dim no%,i%
dim r%,g%,b%
dim EtatStandByPalette%
dim ColPerso%(16)
      
dim FenPaletteCouleur% : no%=no%+1 : FenPaletteCouleur%=no%
dim ContPalette%       : no%=no%+1 : ContPalette%=no%
dim PictPalWindows%(48): for i%=1 to 48 : no%=no%+1 : PictPalWindows%(i%)=no% : next i%
dim AlphPalette%(2)    : for i%=1 to 2  : no%=no%+1 : AlphPalette%(i%)=no%    : next i%
dim PictPalPerso%(16)  : for i%=1 to 16 : no%=no%+1 : PictPalPerso%(i%)=no%   : next i%
dim PictPalette%       : no%=no%+1 : PictPalette%=no%
dim PictChxPalette%    : no%=no%+1 : PictChxPalette%=no%
dim SpnPalette%(3)     : for i%=1 to 3  : no%=no%+1 : SpnPalette%(i%)=no%     : next i%
dim AlphPalConvert%(3) : for i%=1 to 3  : no%=no%+1 : AlphPalConvert%(i%)=no% : next i%

label MouseMoveCadre
label MouseMovePalette
label ClicBtn
label ClicPalWindows
label ClicPalPerso
label DClicPictChxPalette
label DClicPalPerso
label Change
 
button 9999
top 9999,10
left 9999,10
caption 9999,"Outils couleurs"
on_click 9999,ClicBtn
end

sub FormPalette()
   dim_local i%,l%,t%,x%,y%,V$
  
   if object_exists(FenPaletteCouleur%)=1
      show FenPaletteCouleur%
   else
      form FenPaletteCouleur%
      border_small FenPaletteCouleur%
      height FenPaletteCouleur%,305
      width FenPaletteCouleur%,450
      top FenPaletteCouleur%,(screen_y-height(FenPaletteCouleur%))/2
      left FenPaletteCouleur%,(screen_x-width(FenPaletteCouleur%))/2
      caption FenPaletteCouleur%,"Outils couleurs"
      
      font_name FenPaletteCouleur%,"Arial"
      font_size FenPaletteCouleur%,8
      font_color FenPaletteCouleur%,85,85,127
      
      container ContPalette%
      parent ContPalette%,FenPaletteCouleur%
      height ContPalette%,height_client(FenPaletteCouleur%)-5
      width ContPalette%,width_client(FenPaletteCouleur%)-10
      top ContPalette%,0
      left ContPalette%,5
      on_mouse_move ContPalette%,MouseMoveCadre
      
      alpha AlphPalette%(1)
      parent AlphPalette%(1),ContPalette%
      top AlphPalette%(1),15
      left AlphPalette%(1),5
      caption AlphPalette%(1),"Couleurs Windows :"
      
      l%=5      
      for x%=1 to 8
         t%=top(AlphPalette%(1))+height(AlphPalette%(1))+5      
         for y%=1 to 6
            i%=i%+1            
            picture PictPalWindows%(i%)
            parent PictPalWindows%(i%),ContPalette%
            height PictPalWindows%(i%),20
            width PictPalWindows%(i%),20
            top PictPalWindows%(i%),t%
            left PictPalWindows%(i%),l%
            read V$
            color PictPalWindows%(i%),hex(mid$(v$,1,2)),hex(mid$(v$,3,2)),hex(mid$(v$,5,2))
            cursor_point PictPalWindows%(i%)
            on_click PictPalWindows%(i%),ClicPalWindows
            t%=t%+25              
         next y%
         l%=l%+25  
      next x%
      
      alpha AlphPalette%(2)
      parent AlphPalette%(2),ContPalette%
      top AlphPalette%(2),top(PictpalWindows%(48))+height(PictpalWindows%(48))+10
      left AlphPalette%(2),5
      caption AlphPalette%(2),"Couleurs Personnalisées :"      

      l%=5
      i%=0      
      for x%=1 to 8
         t%=top(AlphPalette%(2))+height(AlphPalette%(2))+5      
         for y%=1 to 2
            i%=i%+1            
            picture PictPalPerso%(i%)
            parent PictPalPerso%(i%),ContPalette%
            height PictPalPerso%(i%),20
            width PictPalPerso%(i%),20
            top PictPalPerso%(i%),t%
            left PictPalPerso%(i%),l%
            color PictPalPerso%(i%),0,0,0
            cursor_point PictPalPerso%(i%)
            hint PictPalPerso%(i%),"Clic pour sélectionner"+chr$(13)+"Double clic pour effacer"
            on_click PictPalPerso%(i%),ClicPalPerso
            on_double_click PictPalPerso%(i%),DClicPalPerso
            t%=t%+25              
         next y%
         l%=l%+25  
      next x%

      picture PictPalette%
      parent PictPalette%,ContPalette%
      height PictPalette%,128
      width PictPalette%,158
      top PictPalette%,top(AlphPalette%(1))+height(AlphPalette%(1))+5
      left PictPalette%,left(PictPalWindows%(48))+width(PictPalWindows%(48))+30
      file_load PictPalette%,"palette.bmp"
      cursor_cross PictPalette%
      on_mouse_move PictPalette%,MouseMovePalette
      on_click PictPalette%,ClicBtn
      
      picture PictChxPalette%
      parent PictChxPalette%,ContPalette%
      height PictChxPalette%,22
      width PictChxPalette%,22
      top PictChxPalette%,top(PictPalette%)+height(PictPalette%)+5
      left PictChxPalette%,left(PictPalette%)
      color PictChxPalette%,0,0,0
      cursor_point PictChxPalette%
      hint PictChxPalette%,"Cliquer pour convertir"+chr$(13)+"Double clic pour sauvegarder dans les couleurs personnalisées"
      on_click PictChxPalette%,ClicBtn
      on_double_click PictChxPalette%,DClicPictChxPalette
      
      t%=top(PictChxPalette%)
      l%=left(PictChxPalette%)+width(PictChxPalette%)+5
      for i%=1 to 3
         spin SpnPalette%(i%)
         parent SpnPalette%(i%),ContPalette%
         width SpnPalette%(i%),45
         top SpnPalette%(i%),t%
         left SpnPalette%(i%),l%
         l%=l%+width(SpnPalette%(i%))+5
         font_color SpnPalette%(i%),255,255,255
         min SpnPalette%(i%),0
         max SpnPalette%(i%),255            
      next i%
      color SpnPalette%(1),255,0,0
      color SpnPalette%(2),0,180,0
      color SpnPalette%(3),0,0,255
      
      alpha AlphPalConvert%(1)
      parent AlphPalConvert%(1),ContPalette%
      caption AlphPalConvert%(1),"RGB => "
      top AlphPalConvert%(1),top(SpnPalette%(1))+height(SpnPalette%(1))+10
      left AlphPalConvert%(1),left(PictChxPalette%)
      
      alpha AlphPalConvert%(2)
      parent AlphPalConvert%(2),ContPalette%
      caption AlphPalConvert%(2),"HTML => "
      top AlphPalConvert%(2),top(AlphPalConvert%(1))+height(AlphPalConvert%(1))+5
      left AlphPalConvert%(2),left(PictChxPalette%)
      
      alpha AlphPalConvert%(3)
      parent AlphPalConvert%(3),ContPalette%
      caption AlphPalConvert%(3),"KGF => "
      top AlphPalConvert%(3),top(AlphPalConvert%(2))+height(AlphPalConvert%(2))+5
      left AlphPalConvert%(3),left(PictChxPalette%)          
   end_if
  
   for i%=1 to 16
      if ColPerso%(i%)<>0
         r%= bin_and(ColPerso%(i%),255)
         g%= bin_and(int(ColPerso%(i%)/256),255)
         b%= bin_and(int(ColPerso%(i%)/(256*256)),255)
         color PictPalPerso%(i%),r%,g%,b%
      end_if
   next i%
end_sub

Change:
   if number_change>(SpnPalette%(1)-1) and number_change<(SpnPalette%(3)+1)
      if position(number_change)>255 or position(number_change)<0
         message "Valeur incorrecte !"+chr$(13)+"Valeur de 0 et 255"
         position number_change,255
         return
      end_if
      color PictChxPalette%,position(SpnPalette%(1)),position(SpnPalette%(2)),position(SpnPalette%(3))
      return
   end_if
return

MouseMovePalette:
   off_mouse_move PictPalette%
      if mouse_x_position(PictPalette%)<0 or mouse_y_position(PictPalette%)<0
         return
      end_if    
      if object_exists(SpnPalette%(1))=1 : off_change SpnPalette%(1) : end_if
      if object_exists(SpnPalette%(2))=1 : off_change SpnPalette%(2) : end_if
      if object_exists(SpnPalette%(3))=1 : off_change SpnPalette%(3) : end_if
      r%=color_pixel_red(PictPalette%,mouse_x_position(PictPalette%),mouse_y_position(PictPalette%))
      g%=color_pixel_green(PictPalette%,mouse_x_position(PictPalette%),mouse_y_position(PictPalette%))
      b%=color_pixel_blue(PictPalette%,mouse_x_position(PictPalette%),mouse_y_position(PictPalette%))
      color PictChxPalette%,r%,g%,b%
      position SpnPalette%(1),r%
      position SpnPalette%(2),g%
      position SpnPalette%(3),b%
   on_mouse_move PictPalette%,MouseMovePalette  
return

MouseMoveCadre:
   if object_exists(SpnPalette%(1))=1 : on_change SpnPalette%(1),Change : end_if
   if object_exists(SpnPalette%(2))=1 : on_change SpnPalette%(2),Change : end_if
   if object_exists(SpnPalette%(3))=1 : on_change SpnPalette%(3),Change : end_if
return

ClicBtn:
   if number_click = 9999
      FormPalette()
      return
   end_if
   if number_click = PictPalette%
      if EtatStandByPalette%=0
         EtatStandByPalette%=1
         off_mouse_move PictPalette%
         cursor_default PictPalette%
      else
         EtatStandByPalette%=0
         on_mouse_move PictPalette%,MouseMovePalette
         cursor_cross PictPalette%      
      end_if
      return
   end_if
   if number_click = PictChxPalette%
      r%=color_pixel_red(PictChxPalette%,mouse_x_position(PictChxPalette%),mouse_y_position(PictChxPalette%))
      g%=color_pixel_green(PictChxPalette%,mouse_x_position(PictChxPalette%),mouse_y_position(PictChxPalette%))
      b%=color_pixel_blue(PictChxPalette%,mouse_x_position(PictChxPalette%),mouse_y_position(PictChxPalette%))
      ConvertChxPalette(r%,g%,b%)
      return
   end_if
return

DClicPictChxPalette:
   r%=color_pixel_red(PictChxPalette%,mouse_x_position(PictChxPalette%),mouse_y_position(PictChxPalette%))
   g%=color_pixel_green(PictChxPalette%,mouse_x_position(PictChxPalette%),mouse_y_position(PictChxPalette%))
   b%=color_pixel_blue(PictChxPalette%,mouse_x_position(PictChxPalette%),mouse_y_position(PictChxPalette%))
   SaveColorPerso(r%,g%,b%)
return

sub SaveColorPerso(r1%,g1%,b1%)
   dim_local i%
  
   for i%=1 to 16
       if ColPerso%(i%)=0
          ColPerso%(i%)=(b1%*256+g1%)*256+r1%
          color PictPalPerso%(i%),r1%,g1%,b1%
          exit_for
       end_if
   next i%
end_sub

ClicPalWindows:
   off_change SpnPalette%(1)
   off_change SpnPalette%(2)
   off_change SpnPalette%(3)
   r%=color_pixel_red(number_click,mouse_x_position(number_click),mouse_y_position(number_click))
   g%=color_pixel_green(number_click,mouse_x_position(number_click),mouse_y_position(number_click))
   b%=color_pixel_blue(number_click,mouse_x_position(number_click),mouse_y_position(number_click))
   color PictChxPalette%,r%,g%,b%
   position SpnPalette%(1),r%
   position SpnPalette%(2),g%
   position SpnPalette%(3),b%  
return

ClicPalPerso:
   if mouse_left_down(number_click)=1
      off_change SpnPalette%(1)
      off_change SpnPalette%(2)
      off_change SpnPalette%(3)
      r%=color_pixel_red(number_click,mouse_x_position(number_click),mouse_y_position(number_click))
      g%=color_pixel_green(number_click,mouse_x_position(number_click),mouse_y_position(number_click))
      b%=color_pixel_blue(number_click,mouse_x_position(number_click),mouse_y_position(number_click))
      color PictChxPalette%,r%,g%,b%
      position SpnPalette%(1),r%
      position SpnPalette%(2),g%
      position SpnPalette%(3),b%
   else
      message "Raté !!"
   end_if
return

DClicPalPerso:
   color number_double_click,0,0,0
   InitColPerso()
return

sub InitColPerso()
   dim_local i%
  
   for i%=1 to 16
      if number_double_click = PictPalPerso%(i%)
      ColPerso%(i%)=0
      end_if
   next i%
end_sub

sub ConvertChxPalette(R1%,G1%,B1%)
   dim_local RH$,GH$,BH$,KGFc$
    
   RH$ = Hex$(R1%) : if R1% < 16 then RH$ = "0" + RH$
   GH$ = Hex$(G1%) : if G1% < 16 then GH$ = "0" + GH$
   BH$ = Hex$(B1%) : if B1% < 16 then BH$ = "0" + BH$
  
   KGFc$ = str$((B1%*256+G1%)*256+R1%)
   caption AlphPalConvert%(1),"RGB  => "+str$(R1%)+","+str$(G1%)+","+str$(B1%)
   caption AlphPalConvert%(2),"HTML => "+RH$+GH$+BH$
   caption AlphPalConvert%(3),"KGF  => "+KGFc$      
end_sub

DATA "FF8080","FFFF80","80FF80","00FF80","80FFFF","0080FF","FF80C0","FF80FF"
DATA "FF0000","FFFF00","80FF00","00FF40","00FFFF","0080C0","8080C0","FF00FF"
DATA "804040","FF8040","00FF00","008080","004080","8080FF","800040","FF0080"
DATA "800000","FF8000","008000","008040","0000FF","0000A0","800080","8000FF"
DATA "400000","804000","004000","004040","000080","000040","400040","400080"
DATA "000000","808000","808040","808080","408080","C0C0C0","400040","FFFFFF"





L' image à sauvegarder sous "palette.bmp" dans le même dossier que le source :



Dernière édition par Yannick le Dim 21 Mai 2017 - 18:34, édité 4 fois (Raison : amélioration/correction)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
silverman

avatar

Nombre de messages : 464
Age : 45
Localisation : Picardie
Date d'inscription : 19/03/2015

MessageSujet: Re: Outils couleurs   Jeu 18 Mai 2017 - 23:01

C'est bien réalisé!
C'est un détail, mais pourquoi tu affiches tout au fur et à mesure de la création? Ca serait plus esthétique de tout créer caché et d'afficher le résultat d'un coup. Et aussi, si on entre une valeur>255 dans les spin, ça plante.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7975
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 18 Mai 2017 - 23:11

@ Silverman,

Attention...le panoramicianisme aiguë est en train de t' atteindre !
lol!

Un spin a deux petites flèches pour son utilisation.
C' est du vice que de vouloir entrer un nombre en force.
Bon à part t 'exorciser avec des incantations du style : Papydall !!!! sors de ce corps !!!
je vais devoir sécuriser çà...
lol! 
Pour l' affichage en une seule fois, j' ai peur que l' attente soit un peu longue.
il y a un petit nombre d' objets... Wink   
Je vais voir si c' est pas trop long.

En tout cas, merci de ton retour.
Very Happy
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 4989
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Outils couleurs   Ven 19 Mai 2017 - 9:28

Elle est très bien cette palette !

Mais bon, il faut bien que je fasse une petite remarque. Very Happy
Le picture qui affiche la couleur est un peu petit, on ne saisi pas au premier coup d’œil que c'est le résultat.

Une autre (pour la route)  Very Happy  : tu as choisi d'utiliser on_click et on_double_click pour sauver ou supprimer une couleur personnalisée, je pense qu'un bon nombre d'utilisateurs va se poser la question comment on fait pour sélectionner une couleur. J'ai bien vu que tu as pris la précaution de mettre des infos-bulles (hint) pour informer l'utilisateur, mais encore faut-il qu'il survole l'objet pour s'en apercevoir.
Moi, j'aurai plutôt mis des jolis boutons pour que l'utilisateur voit , de suite, comment procéder.
Sinon, tu peux garder ton système en ajoutant un alpha d'information....

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7975
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 19 Mai 2017 - 15:48

Le source a été édité dans le premier post.
Les SPIN sont sécurisés.
Laughing

@ Jean-Claude,

D' habitude tu fais comment pour sélectionner quelque chose dans un formulaire ?...
scratch

Toute fois je te concède la taille du picture de sélection qui est un peu petit.
Embarassed

Pour ma défense, c' est un outils pondu en une après midi.
Donc il est logique qu' il y ait des imperfections.
Cet outils est insérable tel qu' il est, mais dans l' éditeur il aura d' autres fonctions.
Il sera possible, dès que Jack en donnera les clés, d' insérer la couleur dans le source actif
selon le format choisi.
Les couleurs personnalisées seront enregistrées dans le fichier des paramètres pour être conservées
d' une utilisation à une autre de l' éditeur.
Je sais par expérience qu' une fois que l' on a trouvé une couleur qui nous plait, on a tendance à en user
et en abuser... 
Laughing


Dernière édition par Yannick le Sam 20 Mai 2017 - 19:10, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 4989
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Outils couleurs   Ven 19 Mai 2017 - 17:04

Yannick a écrit:
D' habitude tu fais comment pour sélectionner quelque chose dans un formulaire ?...

Ben... , je suis les instructions du programme. Very Happy

Bon, il faut attendre de voir l'application dans ton programme, là il sera temps de commenter.

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
silverman

avatar

Nombre de messages : 464
Age : 45
Localisation : Picardie
Date d'inscription : 19/03/2015

MessageSujet: Re: Outils couleurs   Ven 19 Mai 2017 - 17:16

Je me suis permis d'ajouter create_hide/create_show pour tester(repéré par des rem); Contrairement à tes craintes, l'affichage est nettement plus rapide.
Code:
dim no%,i%
dim r%,g%,b%
dim EtatStandByPalette%
dim ColPerso%(16)
    
dim FenPaletteCouleur% : no%=no%+1 : FenPaletteCouleur%=no%
dim ContPalette%      : no%=no%+1 : ContPalette%=no%
dim PictPalWindows%(48): for i%=1 to 48 : no%=no%+1 : PictPalWindows%(i%)=no% : next i%
dim AlphPalette%(2)    : for i%=1 to 2  : no%=no%+1 : AlphPalette%(i%)=no%    : next i%
dim PictPalPerso%(16)  : for i%=1 to 16 : no%=no%+1 : PictPalPerso%(i%)=no%  : next i%
dim PictPalette%      : no%=no%+1 : PictPalette%=no%
dim PictChxPalette%    : no%=no%+1 : PictChxPalette%=no%
dim SpnPalette%(3)    : for i%=1 to 3  : no%=no%+1 : SpnPalette%(i%)=no%    : next i%
dim AlphPalConvert%(3) : for i%=1 to 3  : no%=no%+1 : AlphPalConvert%(i%)=no% : next i%

label MouseMoveCadre
label MouseMovePalette
label ClicBtn
label ClicPalWindows
label ClicPalPerso
label DClicPictChxPalette
label DClicPalPerso
label Change
 
button 9999
top 9999,10
left 9999,10
caption 9999,"Outils couleurs"
on_click 9999,ClicBtn
end

sub FormPalette()
  dim_local i%,l%,t%,x%,y%,V$
 
  if object_exists(FenPaletteCouleur%)=1
      show FenPaletteCouleur%
  else
      create_hide                                                              :' <------------------------------
      form FenPaletteCouleur%
      border_small FenPaletteCouleur%
      height FenPaletteCouleur%,305
      width FenPaletteCouleur%,450
      top FenPaletteCouleur%,(screen_y-height(FenPaletteCouleur%))/2
      left FenPaletteCouleur%,(screen_x-width(FenPaletteCouleur%))/2
      caption FenPaletteCouleur%,"Outils couleurs"
    
      font_name FenPaletteCouleur%,"Arial"
      font_size FenPaletteCouleur%,8
      font_color FenPaletteCouleur%,85,85,127
    
      container ContPalette%
      parent ContPalette%,FenPaletteCouleur%
      height ContPalette%,height_client(FenPaletteCouleur%)-5
      width ContPalette%,width_client(FenPaletteCouleur%)-10
      top ContPalette%,0
      left ContPalette%,5
      on_mouse_move ContPalette%,MouseMoveCadre
    
      alpha AlphPalette%(1)
      parent AlphPalette%(1),ContPalette%
      top AlphPalette%(1),15
      left AlphPalette%(1),5
      caption AlphPalette%(1),"Couleurs Windows :"
    
      l%=5    
      for x%=1 to 8
        t%=top(AlphPalette%(1))+height(AlphPalette%(1))+5    
        for y%=1 to 6
            i%=i%+1          
            picture PictPalWindows%(i%)
            parent PictPalWindows%(i%),ContPalette%
            height PictPalWindows%(i%),20
            width PictPalWindows%(i%),20
            top PictPalWindows%(i%),t%
            left PictPalWindows%(i%),l%
            read V$
            color PictPalWindows%(i%),hex(mid$(v$,1,2)),hex(mid$(v$,3,2)),hex(mid$(v$,5,2))
            cursor_point PictPalWindows%(i%)
            on_click PictPalWindows%(i%),ClicPalWindows
            t%=t%+25            
        next y%
        l%=l%+25
      next x%
    
      alpha AlphPalette%(2)
      parent AlphPalette%(2),ContPalette%
      top AlphPalette%(2),top(PictpalWindows%(48))+height(PictpalWindows%(48))+10
      left AlphPalette%(2),5
      caption AlphPalette%(2),"Couleurs Personnalisées :"    

      l%=5
      i%=0    
      for x%=1 to 8
        t%=top(AlphPalette%(2))+height(AlphPalette%(2))+5    
        for y%=1 to 2
            i%=i%+1          
            picture PictPalPerso%(i%)
            parent PictPalPerso%(i%),ContPalette%
            height PictPalPerso%(i%),20
            width PictPalPerso%(i%),20
            top PictPalPerso%(i%),t%
            left PictPalPerso%(i%),l%
            color PictPalPerso%(i%),0,0,0
            cursor_point PictPalPerso%(i%)
            hint PictPalPerso%(i%),"Clic pour sélectionner"+chr$(13)+"Double clic pour effacer"
            on_click PictPalPerso%(i%),ClicPalPerso
            on_double_click PictPalPerso%(i%),DClicPalPerso
            t%=t%+25            
        next y%
        l%=l%+25
      next x%

      picture PictPalette%
      parent PictPalette%,ContPalette%
      height PictPalette%,128
      width PictPalette%,158
      top PictPalette%,top(AlphPalette%(1))+height(AlphPalette%(1))+5
      left PictPalette%,left(PictPalWindows%(48))+width(PictPalWindows%(48))+30
      file_load PictPalette%,"palette.bmp"
      cursor_cross PictPalette%
      on_mouse_move PictPalette%,MouseMovePalette
      on_click PictPalette%,ClicBtn
    
      picture PictChxPalette%
      parent PictChxPalette%,ContPalette%
      height PictChxPalette%,22
      width PictChxPalette%,22
      top PictChxPalette%,top(PictPalette%)+height(PictPalette%)+5
      left PictChxPalette%,left(PictPalette%)
      color PictChxPalette%,0,0,0
      cursor_point PictChxPalette%
      hint PictChxPalette%,"Cliquer pour convertir"+chr$(13)+"Double clic pour sauvegarder dans les couleurs personnalisées"
      on_click PictChxPalette%,ClicBtn
      on_double_click PictChxPalette%,DClicPictChxPalette
    
      t%=top(PictChxPalette%)
      l%=left(PictChxPalette%)+width(PictChxPalette%)+5
      for i%=1 to 3
        spin SpnPalette%(i%)
        parent SpnPalette%(i%),ContPalette%
        width SpnPalette%(i%),45
        top SpnPalette%(i%),t%
        left SpnPalette%(i%),l%
        l%=l%+width(SpnPalette%(i%))+5
        font_color SpnPalette%(i%),255,255,255
        min SpnPalette%(i%),0
        max SpnPalette%(i%),255          
      next i%
      color SpnPalette%(1),255,0,0
      color SpnPalette%(2),0,180,0
      color SpnPalette%(3),0,0,255
    
      alpha AlphPalConvert%(1)
      parent AlphPalConvert%(1),ContPalette%
      caption AlphPalConvert%(1),"RGB => "
      top AlphPalConvert%(1),top(SpnPalette%(1))+height(SpnPalette%(1))+10
      left AlphPalConvert%(1),left(PictChxPalette%)
    
      alpha AlphPalConvert%(2)
      parent AlphPalConvert%(2),ContPalette%
      caption AlphPalConvert%(2),"HTML => "
      top AlphPalConvert%(2),top(AlphPalConvert%(1))+height(AlphPalConvert%(1))+5
      left AlphPalConvert%(2),left(PictChxPalette%)
    
      alpha AlphPalConvert%(3)
      parent AlphPalConvert%(3),ContPalette%
      caption AlphPalConvert%(3),"KGF => "
      top AlphPalConvert%(3),top(AlphPalConvert%(2))+height(AlphPalConvert%(2))+5
      left AlphPalConvert%(3),left(PictChxPalette%)        
  end_if
 
  for i%=1 to 16
      if ColPerso%(i%)<>0
        r%= bin_and(ColPerso%(i%),255)
        g%= bin_and(int(ColPerso%(i%)/256),255)
        b%= bin_and(int(ColPerso%(i%)/(256*256)),255)
        color PictPalPerso%(i%),r%,g%,b%
      end_if
  next i%
      create_show                                                              :' <------------------------------
      top FenPaletteCouleur%,(screen_y-height(FenPaletteCouleur%))/2           :' <------------------------------
      left FenPaletteCouleur%,(screen_x-width(FenPaletteCouleur%))/2           :' <------------------------------
      show_all                                                                 :' <------------------------------
end_sub

Change:
  if number_change>(SpnPalette%(1)-1) and number_change<(SpnPalette%(3)+1)
      if position(number_change)>255 or position(number_change)<0
        message "Valeur incorrect !"+chr$(13)+"Valeur de 0 et 255"
        position number_change,255
        return
      end_if
      color PictChxPalette%,position(SpnPalette%(1)),position(SpnPalette%(2)),position(SpnPalette%(3))
      return
  end_if
return

MouseMovePalette:
  off_mouse_move PictPalette%
      if object_exists(SpnPalette%(1))=1 : off_change SpnPalette%(1) : end_if
      if object_exists(SpnPalette%(2))=1 : off_change SpnPalette%(2) : end_if
      if object_exists(SpnPalette%(3))=1 : off_change SpnPalette%(3) : end_if
      r%=color_pixel_red(PictPalette%,mouse_x_position(PictPalette%),mouse_y_position(PictPalette%))
      g%=color_pixel_green(PictPalette%,mouse_x_position(PictPalette%),mouse_y_position(PictPalette%))
      b%=color_pixel_blue(PictPalette%,mouse_x_position(PictPalette%),mouse_y_position(PictPalette%))
      color PictChxPalette%,r%,g%,b%
      position SpnPalette%(1),r%
      position SpnPalette%(2),g%
      position SpnPalette%(3),b%
  on_mouse_move PictPalette%,MouseMovePalette
return

MouseMoveCadre:
  if object_exists(SpnPalette%(1))=1 : on_change SpnPalette%(1),Change : end_if
  if object_exists(SpnPalette%(2))=1 : on_change SpnPalette%(2),Change : end_if
  if object_exists(SpnPalette%(3))=1 : on_change SpnPalette%(3),Change : end_if
return

ClicBtn:
  if number_click = 9999
      FormPalette()
      return
  end_if
  if number_click = PictPalette%
      if EtatStandByPalette%=0
        EtatStandByPalette%=1
        off_mouse_move PictPalette%
        cursor_default PictPalette%
      else
        EtatStandByPalette%=0
        on_mouse_move PictPalette%,MouseMovePalette
        cursor_cross PictPalette%    
      end_if
      return
  end_if
  if number_click = PictChxPalette%
      r%=color_pixel_red(PictChxPalette%,mouse_x_position(PictChxPalette%),mouse_y_position(PictChxPalette%))
      g%=color_pixel_green(PictChxPalette%,mouse_x_position(PictChxPalette%),mouse_y_position(PictChxPalette%))
      b%=color_pixel_blue(PictChxPalette%,mouse_x_position(PictChxPalette%),mouse_y_position(PictChxPalette%))
      ConvertChxPalette(r%,g%,b%)
      return
  end_if
return

DClicPictChxPalette:
  r%=color_pixel_red(PictChxPalette%,mouse_x_position(PictChxPalette%),mouse_y_position(PictChxPalette%))
  g%=color_pixel_green(PictChxPalette%,mouse_x_position(PictChxPalette%),mouse_y_position(PictChxPalette%))
  b%=color_pixel_blue(PictChxPalette%,mouse_x_position(PictChxPalette%),mouse_y_position(PictChxPalette%))
  SaveColorPerso(r%,g%,b%)
return

sub SaveColorPerso(r1%,g1%,b1%)
  dim_local i%
 
  for i%=1 to 16
      if ColPerso%(i%)=0
          ColPerso%(i%)=(b1%*256+g1%)*256+r1%
          color PictPalPerso%(i%),r1%,g1%,b1%
          exit_for
      end_if
  next i%
end_sub

ClicPalWindows:
  off_change SpnPalette%(1)
  off_change SpnPalette%(2)
  off_change SpnPalette%(3)
  r%=color_pixel_red(number_click,mouse_x_position(number_click),mouse_y_position(number_click))
  g%=color_pixel_green(number_click,mouse_x_position(number_click),mouse_y_position(number_click))
  b%=color_pixel_blue(number_click,mouse_x_position(number_click),mouse_y_position(number_click))
  color PictChxPalette%,r%,g%,b%
  position SpnPalette%(1),r%
  position SpnPalette%(2),g%
  position SpnPalette%(3),b%
return

ClicPalPerso:
  if mouse_left_down(number_click)=1
      off_change SpnPalette%(1)
      off_change SpnPalette%(2)
      off_change SpnPalette%(3)
      r%=color_pixel_red(number_click,mouse_x_position(number_click),mouse_y_position(number_click))
      g%=color_pixel_green(number_click,mouse_x_position(number_click),mouse_y_position(number_click))
      b%=color_pixel_blue(number_click,mouse_x_position(number_click),mouse_y_position(number_click))
      color PictChxPalette%,r%,g%,b%
      position SpnPalette%(1),r%
      position SpnPalette%(2),g%
      position SpnPalette%(3),b%
  else
      message "Raté !!"
  end_if
return

DClicPalPerso:
  color number_double_click,0,0,0
  InitColPerso()
return

sub InitColPerso()
  dim_local i%
 
  for i%=1 to 16
      if number_double_click = PictPalPerso%(i%)
      ColPerso%(i%)=0
      end_if
  next i%
end_sub

sub ConvertChxPalette(R1%,G1%,B1%)
  dim_local RH$,GH$,BH$,KGFc$
  
  RH$ = Hex$(R1%) : if R1% < 16 then RH$ = "0" + RH$
  GH$ = Hex$(G1%) : if G1% < 16 then GH$ = "0" + GH$
  BH$ = Hex$(B1%) : if B1% < 16 then BH$ = "0" + BH$
 
  KGFc$ = str$((B1%*256+G1%)*256+R1%)
  caption AlphPalConvert%(1),"RGB  => "+str$(R1%)+","+str$(G1%)+","+str$(B1%)
  caption AlphPalConvert%(2),"HTML => "+RH$+GH$+BH$
  caption AlphPalConvert%(3),"KGF  => "+KGFc$    
end_sub

DATA "FF8080","FFFF80","80FF80","00FF80","80FFFF","0080FF","FF80C0","FF80FF"
DATA "FF0000","FFFF00","80FF00","00FF40","00FFFF","0080C0","8080C0","FF00FF"
DATA "804040","FF8040","00FF00","008080","004080","8080FF","800040","FF0080"
DATA "800000","FF8000","008000","008040","0000FF","0000A0","800080","8000FF"
DATA "400000","804000","004000","004040","000080","000040","400040","400080"
DATA "000000","808000","808040","808080","408080","C0C0C0","400040","FFFFFF"
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7975
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 19 Mai 2017 - 17:46

Merci Silverman.

Je vais tester et sûrement prendre. Very Happy
Là j' étais déjà sur l' outils de recherche dans un objet Synedit. 
Ouff...j' ai enfin réussi à lui faire faire ce que je voulais.
La bataille fur rude mais :
Yannick : 1 
Synedit : 0
lol!

Edit : C' est adopté pour cet outils mais cela ne fonctionne pas à tous les coups.
certains objets lorsque leur taille est conditionnée à celle du form conserve leur taille par defaut.
Suspect
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7975
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 19 Mai 2017 - 18:02

Jean Claude a écrit:
Yannick a écrit:
D' habitude tu fais comment pour sélectionner quelque chose dans un formulaire ?...
Ben... , je suis les instructions du programme.  Very Happy

Rhoooo !....le gros mensonge...
lol!

Jean Claude a écrit:

Bon, il faut attendre de voir l'application dans ton programme, là il sera temps de commenter.
A+

Là il va falloir être patient,...très patient...celui là n' avance qu' avec les avancées de Jack sur l' objet SYNEDIT.
Razz Razz Razz Razz Razz Razz Razz
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
silverman

avatar

Nombre de messages : 464
Age : 45
Localisation : Picardie
Date d'inscription : 19/03/2015

MessageSujet: Re: Outils couleurs   Ven 19 Mai 2017 - 18:19

Oui, c'est un bug de create_hide, il faut utiliser le couple create_hide/create show pour chaque form créé et positionner avant show/show_all.
Yannick a écrit:
Là j' étais déjà sur l' outils de recherche dans un objet Synedit.
Ouff...j' ai enfin réussi à lui faire faire ce que je voulais.
Tu n'as pas eu des pb de recherche non trouvée avec les majuscules/minuscules dans synedit? Comment tu gères la casse?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7975
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 19 Mai 2017 - 19:21

Ben, il y a deux choses d' ingérable vu que l' on a pas la main sur tout.
C' est la casse et le sens de la recherche.

L' algorithme de recherche est interne donc....
et comme on ne peut récupérer ni sélectionner, ni récupérer une sélection...
Je ne vois pas comment on peut éviter ce souci.

Je vais faire un extrait de cette outils de recherche.
Il faudra le prendre comme il est et l' adapter au fur et à mesure des avancées de Jack.

finalement non, il faudrait que je mette tout. Et là ca commence à faire des lignes.
Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 4989
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Outils couleurs   Ven 19 Mai 2017 - 19:40

C'est clair que pour le moment l'objet SYNEDIT est encore incomplet.

J'ai précisément arrêter de coder un essai d'éditeur en m'apercevant qu'on ne peut pas faire une recherche (FIND) complète d'un mot vu que FIND est sensible à la casse.

Il y a d'autres obstacles que je n'ai pas pu contourner (ex: je n'ai pas trouvé comment écrire dans l'objet SYNEDIT), alors plutôt que de passer des heures à chercher l'impossible, j'ai mis en stand-by.

J'espère que notre nouveau président va doubler les congés, Jack en profitera pour se consacrer à Panoramic.
Quoi !? on peut rêver non, ce n'est pas encore interdit. Razz  

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7975
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: RE   Ven 19 Mai 2017 - 19:47

Attention Jean-Claude...
tu penses, tu rêves,...tu deviens un élément subversif...
lol!

Bon, vivement la version 28i7 avec SYNEDIT complet...
...ou presque.
Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 4989
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Outils couleurs   Ven 19 Mai 2017 - 21:08

J'aime bien être subversif Very Happy
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7975
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 19 Mai 2017 - 21:45

@ Tous les nouveaux,

Voilà comment on saborde son propre sujet.
Ceci n' est pas un exemple à suivre.
Méfiez vous, le panoramicianisme est une maladie très contagieuse.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 4989
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Outils couleurs   Ven 19 Mai 2017 - 22:12

Revenir en haut Aller en bas
Voir le profil de l'utilisateur
bignono

avatar

Nombre de messages : 1085
Age : 60
Localisation : Val de Marne
Date d'inscription : 13/11/2011

MessageSujet: Re: Outils couleurs   Sam 20 Mai 2017 - 16:05

Bonjour à tous! Very Happy
Pas mal la palette, mais j'ai eu un bug! Une erreur: (29) Not correct arithmetic expression: Function call with negative value. Line 198.
Cela se produit, (je m'en suis aperçu en faisant un faux mouvement avec la souris) si on reste cliqué sur le bouton gauche de la souris et que l'on sort de l'image de la palette soit par la gauche soit par le haut! Si on sort par la droite ou le bas, pas d'erreur!
Voilà, à plus!
Wink Wink Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7975
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Sam 20 Mai 2017 - 16:31

Correction effectuée !
Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Laurent (Minibug)

avatar

Nombre de messages : 2353
Age : 50
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: Outils couleurs   Sam 20 Mai 2017 - 16:34

Petite palette très sympa ! Je garde...Wink

Yannick a écrit:
J' ai pondu cette outils pour mon éditeur.

Alors du coup c'est normal que Bignono y trouve des coquilles. Laughing

Rassures toi yannick, on ne fait pas d'omelette sans casser des œufs !!!
lol! lol! lol! lol!


PS :
Yannick a écrit:
Bon à part t 'exorciser avec des incantations du style : Papydall !!!! sors de ce corps !!!

A propos de Papydall, quelqu'un a des nouvelles ?!
Cela fait 2 semaines qu'il n'est pas passé sur le site. C'est surprenant non ?
Papydall, si tu nous entends, fais nous un petit coucou s'il te plaît...


Dernière édition par Laurent (Minibug) le Sam 20 Mai 2017 - 16:41, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7975
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: Re   Sam 20 Mai 2017 - 16:41

Inutile de vous dire que comme la poule je m' y suis cassé le...
non, je ne le dirai pas...
lol!

Prends avec la correction du bug de Bignono.
J' édite le code dans le premier post à chaque correction.
cela évite des codes de partout.
Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Laurent (Minibug)

avatar

Nombre de messages : 2353
Age : 50
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: Outils couleurs   Sam 20 Mai 2017 - 16:43

Salut Yannick, on s'est croisé ! Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7975
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Sam 20 Mai 2017 - 16:57

Salut Laurent,

 Je ne sais pas où est passé Papydall, peut être profite t il de sa famille, j' ai cru comprendre qu' elle
est nombreuse et pas toujours près de lui certains habitant en Europe.

Pour revenir sur le bug détecté par Bignono.
Il vient d' une négligence de ma part la ligne en cause :

r%=color_pixel_red(PictPalette%,mouse_x_position(PictPalette%),mouse_y_position(PictPalette%))

donc dès que l' on sort de PictPalette% avec le bouton enfoncé la valeur est négative
J' ai ajouté ceci :

if mouse_x_position(PictPalette%)<0 or mouse_y_position(PictPalette%)<0
   return
end_if

et le bug semble résolu.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 4989
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Outils couleurs   Sam 20 Mai 2017 - 17:57

Super, je vois que Bignono veille au grain. Voir veille à ce que font les poules. Razz Razz Razz

@Papydall,
Envois-nous un petit message.

A+

Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: Outils couleurs   Sam 20 Mai 2017 - 18:49

Salut tout le monde.

Après deux semaines d’absence, me revoilà de retour !
J’étais hospitalisé pour une intervention chirurgicale sur mon œil droit.
L’opération s’est parfaitement déroulé et j’ai retrouvé ma « vue d’aigle ».
Merci à mon ophtalmologue et à son équipe.

Ceci étant, je ne peux passer sous silence un tel massacre de la langue française commis par :
le massacreur de la langue française a écrit:
Cette outils est insérable tel que mes il va avoir d' autres fonctions dans l' éditeur.

Bon,  il y a de la lecture sur le forum et je dois me mettre à jour.
Aussi, je remercie tous ceux qui se sont soucié de mon absence, sans oublier les autres.

Pour me faire pardonner par Yannick : BRAVO pour la palette et merci à ceux qui ont contribué à son débogage.

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Yannick

avatar

Nombre de messages : 7975
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Sam 20 Mai 2017 - 19:12

cheers Content de te relire Papydall !

Et de voir que tu as retrouvé un oeil de lynx même si c' est à mes dépends... Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Outils couleurs   

Revenir en haut Aller en bas
 
Outils couleurs
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 4Aller à la page : 1, 2, 3, 4  Suivant
 Sujets similaires
-
» PA - explications des outils couleurs
» trousse a outils
» [Lua][PSP] Les Couleurs et le Texte
» Comment modifier une les couleurs d une image swf ?
» Gras souligné et Italique en Couleurs dans les Sujets

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