StartDrawing [réglé]

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
MetalOS
Messages : 1510
Inscription : mar. 20/juin/2006 22:17
Localisation : Lorraine
Contact :

StartDrawing [réglé]

Message par MetalOS »

Salut tous le monde, j'ai fait une recherche dans le forum mais je n'est pas trouvé ma solution. Je voulais savoir si quand on utilisais la commande

Code : Tout sélectionner

StartDrawing(ImageOutput(#Image)
on pouvais changer dans "ImageOutput(#Image)" le #Image par une variable de type String qui contient le chemin vers une image.

Exemple:

Code : Tout sélectionner


Chemin$ = "c:/photos/image1.jpg"

If StartDrawing(ImageOutput(Chemin$))
  StopDrawing()
EndIf

Bien sur le compilateur m'indique une erreur.

J'utilise un fichier de préférence ou un de mes groupe référence le chemin d'une image mais qui peut varier suivant les préférence de chaque utilisateur. Le texte et les dessin fait avec la bibliothèque 2DDrawing reste inchangés même si l'image diffère.

Comment faire pour charger la variable de mon fichier de préférence à la place de "#Image" dans "ImageOutput(#Image)". Merci.
Dernière modification par MetalOS le mer. 15/avr./2009 19:10, modifié 3 fois.
poshu
Messages : 1138
Inscription : sam. 31/juil./2004 22:32

Message par poshu »

Code : Tout sélectionner

Chemin$ = "c:/photos/image1.jpg"

image = LoadImage(#PB_Any,Chemin$)

If StartDrawing(ImageOutput(image))
  StopDrawing()
  SaveImage(image,Chemin$,#PB_ImagePlugin_JPEG)
  FreeImage(image)
EndIf 


Je vois pas ce qui peut t'empêcher de faire ça...
Dernière modification par poshu le mer. 15/avr./2009 18:05, modifié 1 fois.
Avatar de l’utilisateur
MetalOS
Messages : 1510
Inscription : mar. 20/juin/2006 22:17
Localisation : Lorraine
Contact :

Message par MetalOS »

Cool poshu merci, je ne pensais pas que l'on pouvais l'utiliser comme ça.
Avatar de l’utilisateur
Fortix
Messages : 559
Inscription : mar. 30/mai/2006 17:03

Message par Fortix »

Salut @MetalOS

:wink: NON NON, "ImageOutput(#Image)" doit contenir un Id numérique qui n'est autre que l'identifiant de l'image

et catchImage ne semble pas être l'idéal pour ton projet, en revanche si tu souhaites pouvoir changer tes images dynamiquement je te conseillerais de charger une première fois:

Code : Tout sélectionner

;Ouverture d'un fichier image
fichier_$ = OpenFileRequester( "Recherche image", GetPathPart(fichier_$), "Fichier image|*.jpg;*.jpeg;*.png;*.bmp;*.tif;*.tga", 0)
 
;Chargement du fichier image
If LoadImage( 1, fichier_$) ; ainsi l'identifiant de cette image sera "1",si tu choisis de lui donner le chiffre 1, important :Deux images ne peuvent avoir le même identifiant!!
      SetGadgetState(#Gadgetexemple, ImageID(1)); "ImageID()"est l'unique intermédiaire entre le Gadget et l'image ainsi pour que ton gadget puisse l' utiliser 
endif         
une fois avoir donné des identifiants à tes images chargés au préalable
tu pourras donc les changer dynamiquement comme bon te sembleras

:lol: je ne sais pas si je réponds à 100% à la question :lol:

n'hesite pas à dévelloper d'avantage ta demande :D
Avatar de l’utilisateur
Fortix
Messages : 559
Inscription : mar. 30/mai/2006 17:03

Message par Fortix »

@ poshu tu ma pris de vitesse et t'as bien fais :lol:
Avatar de l’utilisateur
MetalOS
Messages : 1510
Inscription : mar. 20/juin/2006 22:17
Localisation : Lorraine
Contact :

Message par MetalOS »

C'est à ni rien comprendre.

voila ma procedure:

Code : Tout sélectionner


Procedure Donnees()
 DateDebutMesure$ = "14/04/2009"
 HeureDebutMesure$ = "18:12:31"
 DateDerniereMesure$ = "14/04/2009"
 HeureDerniereMesure$ = "21:22:36"
 TotalCounter$ = "17"  
 
  If StartDrawing(ImageOutput(#Image_Form1_Image49))
       ;***********Cadre********************
       Line( 20, 20, 360, 0, RGB(255, 255, 255))
       Line( 20, 20, 0, 50, RGB(255, 255, 255))
       Line( 20, 70, 360, 0, RGB(255, 255, 255))
       Line( 380, 20, 0, 50, RGB(255, 255, 255))
        DrawText(50, 38, " Rapport temps réel sur la détection d'éclairs " , RGB(255, 255, 255), transparent)
       ;************************************
       
       DrawText(20, 100, "Début des mesures le :" , RGB(255, 255, 255), transparent)
       DrawText(180, 100, DateDebutMesure$, RGB(250, 242, 5), transparent)
       DrawText(260, 100, "à", RGB(255, 255, 255), transparent)
       DrawText(280, 100, HeureDebutMesure$, RGB(250, 242, 5), transparent)
       
       DrawText(20, 150, "Dernière mesure le : " , RGB(255, 255, 255), transparent)
       DrawText(180, 150, DateDerniereMesure$, RGB(250, 242, 5), transparent)
       DrawText(260, 150, "à", RGB(255, 255, 255), transparent)
       DrawText(280, 150, HeureDerniereMesure$, RGB(250, 242, 5), transparent)
       DrawText(20, 200, "Nombres total d'éclaires :", RGB(255, 255, 255), transparent)
       DrawText(200, 200, TotalCounter$, RGB(238, 27, 17), transparent)
       
     StopDrawing()
  EndIf    
   
EndProcedure
J'ai juste changé le contenue de "ImageOutput(#Image_Form1_Image49)" par "ImageOutput(image)".

Code : Tout sélectionner

Procedure Donnees()
 DateDebutMesure$ = "14/04/2009"
 HeureDebutMesure$ = "18:12:31"
 DateDerniereMesure$ = "14/04/2009"
 HeureDerniereMesure$ = "21:22:36"
 TotalCounter$ = "17"  
 
  If StartDrawing(ImageOutput(image))
       ;***********Cadre********************
       Line( 20, 20, 360, 0, RGB(255, 255, 255))
       Line( 20, 20, 0, 50, RGB(255, 255, 255))
       Line( 20, 70, 360, 0, RGB(255, 255, 255))
       Line( 380, 20, 0, 50, RGB(255, 255, 255))
        DrawText(50, 38, " Rapport temps réel sur la détection d'éclairs " , RGB(255, 255, 255), transparent)
       ;************************************
       
       DrawText(20, 100, "Début des mesures le :" , RGB(255, 255, 255), transparent)
       DrawText(180, 100, DateDebutMesure$, RGB(250, 242, 5), transparent)
       DrawText(260, 100, "à", RGB(255, 255, 255), transparent)
       DrawText(280, 100, HeureDebutMesure$, RGB(250, 242, 5), transparent)
       
       DrawText(20, 150, "Dernière mesure le : " , RGB(255, 255, 255), transparent)
       DrawText(180, 150, DateDerniereMesure$, RGB(250, 242, 5), transparent)
       DrawText(260, 150, "à", RGB(255, 255, 255), transparent)
       DrawText(280, 150, HeureDerniereMesure$, RGB(250, 242, 5), transparent)
       DrawText(20, 200, "Nombres total d'éclaires :", RGB(255, 255, 255), transparent)
       DrawText(200, 200, TotalCounter$, RGB(238, 27, 17), transparent)
       
     StopDrawing()
  EndIf    
   
EndProcedure
Et tous marche bien, il ne me reste plus qu'à rafraichir mon image pour que les données soit bien afficher. :lol: :lol: :lol: :lol:
Avatar de l’utilisateur
MetalOS
Messages : 1510
Inscription : mar. 20/juin/2006 22:17
Localisation : Lorraine
Contact :

Message par MetalOS »

Je ne c pas si je voie juste mais dans mon fichier de préférence j'ai un groupe qui ce nome "Image" et je pense que dans "ImageOutput(image)" il doit prendre en compte le groupe du fichier de préférence au moment du chargement. Enfin j'en suis pas très sur. Mais pour le moment ça marche :lol: :lol: :lol: :lol:
Avatar de l’utilisateur
MetalOS
Messages : 1510
Inscription : mar. 20/juin/2006 22:17
Localisation : Lorraine
Contact :

Message par MetalOS »

Merci pour vos réponses poshu et Fortix.
Répondre