demande d'Aide pour faire un mini paint editor

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
patmaba
Messages : 15
Inscription : mar. 02/mars/2004 7:40
Localisation : belgique

demande d'Aide pour faire un mini paint editor

Message par patmaba »

Bonjour, je suis nouveau avec PB.

J'aimerai essayer comme premier exercice, de faire un paint editor comme celui de windows mais avec moins de fonctionnalité.

Mais déjà, je suis confronté à 2 problèmes. Le premier problème est comment définir un toolbar vertical déplaçable. Je n'ai pas trouvé d'exemple dans le répertoire source exemple de PB ni dans l'aide.

Le second problème est l'image comment lorsque l'image est plus grand que la fenêtre de base que les scrollbar apparaissent ou encore que lorsque la fenêtre est redimensionné d'obtenir les srollbar verticales et horizontales

Se serait bien gentil si qq peut me conseiller. Je trouve que PB est un super outil et j'ai hâte de le maîtriser.

Patmaba

merci
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

Il faut utiliser la bibliotheque de Danilo, elle permet de faire des barres d'outils plus complexe.

http://pureproject.reelmedia.org/module ... eA&show=10
ça s'apelle PureTool

Sinon ,en bonus, pour des tranformations sur les images (contraste, etc...), j'ai posté du code sur le forum et j'ai sur mon site un sélecteur de couleur amélioré avec un exemple d'utilisation en PB.

A+
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
comtois
Messages : 5172
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

un exemple avec une grande image dans la fenêtre

Code : Tout sélectionner

;Forum anglais 
;Auteur : Je ne sais plus
 
Procedure GetMouseX(gadget) 
   GetCursorPos_(mouse.POINT) 
   MapWindowPoints_(0,GadgetID(gadget),mouse,1) 
   ProcedureReturn mouse\x 
EndProcedure 

Procedure GetMouseY(gadget) 
   GetCursorPos_(mouse.POINT) 
   MapWindowPoints_(0,GadgetID(gadget),mouse,1) 
   ProcedureReturn mouse\Y 
EndProcedure 

Procedure GetDesktopWidth() 
   ProcedureReturn GetSystemMetrics_(#sm_cxscreen) 
EndProcedure 

Procedure GetDesktopHeight() 
   ProcedureReturn GetSystemMetrics_(#sm_cyscreen) 
EndProcedure 

Procedure ResizeCallback(hWnd,Message,wParam,lParam) 
   Resultat = #PB_ProcessPureBasicEvents 
   If Message = #wm_size 
      Largeur = lParam & $FFFF 
      Hauteur = (lParam >> 16 ) & $FFFF 
      MoveWindow_(GadgetID(1),0,0,Largeur,Hauteur,1) 
   EndIf 
   ProcedureReturn Resultat 
EndProcedure 

OpenWindow( 0,0,0,300,300,#PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_ScreenCentered,"PB_Scrollpaint") 
 CreateGadgetList(WindowID()) 
 SetWindowCallback(@ResizeCallback()) 
 
 AreaX = GetDesktopWidth() : AreaY = GetDesktopHeight() 
 
 hImg = CreateImage(0,AreaX,AreaY) 
 StartDrawing(ImageOutput()) 
 For x = 0 To AreaX Step 40 
   For Y = 0 To AreaY Step 40 
      Box(x,Y,20,20,RGB(0,0,255)) : Box(x+20,Y,20,20,RGB(0,0,180)) 
      Box(x,Y+20,20,20,RGB(0,0,128)) : Box(x+20,Y+20,20,20,RGB(0,0,80)) 
   Next Y 
Next x 
 StopDrawing() 
 
 ScrollAreaGadget(1,0,0,WindowWidth(),WindowHeight(),AreaX,AreaY,10,#PB_ScrollArea_BorderLess) 
 ImageGadget(2,0,0,AreaX,AreaY,hImg)  
 CloseGadgetList() 
 
 pendown=0 
 
 Repeat 
   Select WaitWindowEvent(): 
      Case #PB_EventCloseWindow: End 
         
      Case #WM_LBUTTONDOWN 
         mx=GetMouseX(2) : my=GetMouseY(2) 
         mxx=(mx/20)*20 : myy=(my/20)*20 
         UseImage(0) 
         StartDrawing(ImageOutput()) 
         Box(mxx,myy,20,20,RGB(255,180,0)) 
         StopDrawing() 
         SetGadgetState(2, UseImage(0)) 
         pendown=1 
         
      Case #WM_LBUTTONUP 
         pendown=0 
         
      Case #WM_MOUSEMOVE 
         If pendown=1 
            mx=GetMouseX(2) : my=GetMouseY(2) 
            mxx=(mx/20)*20 : myy=(my/20)*20 
            UseImage(0) 
            StartDrawing(ImageOutput()) 
            Box(mxx,myy,20,20,RGB(255,180,0)) 
            StopDrawing() 
            SetGadgetState(2, UseImage(0)) 
         EndIf 
         
      Case #PB_EventGadget 
         Select EventGadgetID() 
            Case 3 
               End 
         EndSelect 
   EndSelect 
ForEver 
 End 
patmaba
Messages : 15
Inscription : mar. 02/mars/2004 7:40
Localisation : belgique

Message par patmaba »

merci, vous êtes géniaux.
patmaba
Messages : 15
Inscription : mar. 02/mars/2004 7:40
Localisation : belgique

Message par patmaba »

quelle est l'url de ton site Le Soldat Inconnu ?
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

le WWW dans les boutons en bas des messages. voir rubriques "PureBasic"
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
patmaba
Messages : 15
Inscription : mar. 02/mars/2004 7:40
Localisation : belgique

Message par patmaba »

J'ai essayer d'installer la bibliotheque de Danilo.

J'ai suivi les étapes de l'installation du readme.

Maintenant, le compilateur affiche le message compilateur pas près ???

Que faire ?
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

Ferme l'éditeur de PureBasic et ouvre le à nouveau.
Patrick88
Messages : 1564
Inscription : mer. 21/janv./2004 18:24

Message par Patrick88 »

merci comtois.

patrick
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

Je ne suis pas sur, mais j'ai un souvenir d'un code qui faisait un début de Paint, code de Danilo.

Peut-être avec ses librairies, mais pas moyen de me souvenir.
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

Ca y est, si tu as installé la librairie de Danilo TOOLBAR Professional, va dans le répertoire Example\TOOLBAR Professional\PurePaint et là il a fait une grande partie de l'éditeur de paint.
patmaba
Messages : 15
Inscription : mar. 02/mars/2004 7:40
Localisation : belgique

Message par patmaba »

J'ai fermé l'editeur PB et réouvert. çà marche tjs pas ????
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

Tu as la démo ?
patmaba
Messages : 15
Inscription : mar. 02/mars/2004 7:40
Localisation : belgique

Message par patmaba »

jetravaille sur nt4
patmaba
Messages : 15
Inscription : mar. 02/mars/2004 7:40
Localisation : belgique

Message par patmaba »

de plus ma version est la 3.80
Répondre