Pourquoi DrawImage ne marche pas ici?

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
anissa
Messages : 136
Inscription : mer. 13/oct./2010 15:43

Pourquoi DrawImage ne marche pas ici?

Message par anissa »

bonjour,

jutilise souvent DrawImage, je n'ai jamais eu de problème jusqu'ici, quand ja destinatiion est la fenêtre, ça marche mais quand la destination est image ça ne marche pas.

j'utilise ici un cpanel, et je voudrais y afficher une image avec les dimensions voulues:

Code : Tout sélectionner

LoadImage(1,"img.jpg")    ;l'image existe c vérifié 
CreateImage(0,255,255)
StartDrawing(ImageOutput(0))
DrawImage(10,10,50,50,ImageId(1))
StopDrawing()
si je fais la même chose avec windowoutput, ça marche mais sur un panel, rien n'est affiché pourquoi?

Merci de votre aide
ANISSA
Parole De JOJO
Messages : 446
Inscription : mar. 25/mai/2010 17:24
Localisation : Bnei Brak, Israel

Re: Pourquoi DrawImage ne marche pas ici?

Message par Parole De JOJO »

poste peut etre un code plus complet
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Pourquoi DrawImage ne marche pas ici?

Message par Ar-S »

As tu mis UseJPEGImageDecoder()
en début de code ?

Conseil :
Faites des tests dans vos procédures et lancez le debugger vous aurez vos réponses !

Code : Tout sélectionner

VerifImg = LoadImage(1,"img.jpg")
If VerifImg <> 0 
  VerifCrea = CreateImage(0,255,255)
  If VerifCrea <> 0
    Debug "Tout va bien, on peut continuer"
  Else
    Debug "erreur VerifCrea"
  EndIf
Else
  Debug "erreur Verif IMG"
EndIf

etc etc
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Pourquoi DrawImage ne marche pas ici?

Message par falsam »

je ne connais pas la finalité de ton code mais il y aune erreur je pense sur ta fonction DrawImage.

D’après l'aide, remplace

Code : Tout sélectionner

DrawImage(10,10,50,50,ImageId(1))
par

Code : Tout sélectionner

DrawImage(ImageID(1),10,10,50,50)

Tu cherche à redimensionner une image préalablement charger et ensuite l'afficher sur un gadget image ? en bref, faire une miniature ?
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Pourquoi DrawImage ne marche pas ici?

Message par Ar-S »

C'est pas les versions de PB 3.9x qui étaient foutues de la sorte ?

Code : Tout sélectionner

DrawImage(10,10,50,50,ImageId(1))
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Pourquoi DrawImage ne marche pas ici?

Message par falsam »

@Ar-S : je suis trop jeune dans Pure basic pour avoir connu cette version 3.9 :)
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Pourquoi DrawImage ne marche pas ici?

Message par falsam »

Un code pour miniaturiser une image que tu charges au préalable.

Code : Tout sélectionner

UseJPEGImageDecoder() 

Enumeration
  #MainForm
  #Panel
  #Image ;Celle qui figure sur la fenetre 
  
  #RImage
  EndEnumeration

Procedure MainFormShow()
  OpenWindow(#MainForm,0,0,450,350,"Image sur panel",#PB_Window_ScreenCentered | #PB_Window_SystemMenu)
  
  PanelGadget(#Panel,10,10,400,300) ;Tu parlais d'un panel alors j'en ai mis un :p
  
  LoadImage(#RImage,"img1.jpg") 
  ImageGadget(#Image,15,15,0,0, ImageID(#RImage))
  
  SetGadgetState(#Image,ResizeImage(#RImage,250,250))
  FreeImage(#RImage)
  
EndProcedure

MainFormShow()

Repeat
  Select WaitWindowEvent()
    Case #PB_Event_Gadget

    Case #PB_Event_CloseWindow
      End
  EndSelect
ForEver
J'imagine bien un potentiomètre pour augmenter ou réduire l'image :)
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
anissa
Messages : 136
Inscription : mer. 13/oct./2010 15:43

Re: Pourquoi DrawImage ne marche pas ici?

Message par anissa »

@falsam

Je crois que vous sortez du sujet: il s'agit de DrawImage, c'est ça qui ne fonctionne pas chez moi quand je l'utilise sur un panel.

Par contre, j'ai fait ce test:

Code : Tout sélectionner

VerifImg = LoadImage(1,"img.jpg")
If VerifImg <> 0 
  VerifCrea = CreateImage(0,255,255)
  If VerifCrea <> 0
    Debug "Tout va bien, on peut continuer"
  Else
    Debug "erreur VerifCrea"
  EndIf
Else
  Debug "erreur Verif IMG"
EndIf
Voici le resultat obtenu:

Code : Tout sélectionner

Debug "Tout va bien, on peut continuer"
Mais au moment de DrawImage (juste après ce message)
RIEN N'EST AFFICHE !

Alors???
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Pourquoi DrawImage ne marche pas ici?

Message par Ar-S »

Ben donne nous plus de code, excuse moi mais là je te donne des conseils pour faire des tests, a toi d'ajouter d'autres tests à la suite de celui ci !
genre :

Code : Tout sélectionner

 If StartDrawing(ImageOutput(0))
        Debug "StartDrawing OK"
        ;draw;;; etc etc
Il y a PLEIN d'exemple pour DrawText alors cherche un peu ou donne un code a peu près complet. Ici on ne sait pas si tu veux faire apparaitre ton image dans un imageGadget (ce qui parait logique mais bon...) par exemple.

ça fait perdre trop de temps de jouer aux devinettes. Pour finir, je doute que vos créations soient de l'ordre du top secret ou qu'ils contiennent des algorithmes uniques au monde.., donc arrêtez la parano et proposez nous des codes complets. je ne testerai plus aucun code non fonctionnel à partir de maintenant. J'entends par fonctionnel un code executable avec fenêtre et events/loop.
C'est dit.Image
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
case
Messages : 1546
Inscription : lun. 10/sept./2007 11:13

Re: Pourquoi DrawImage ne marche pas ici?

Message par case »

+1 ar-s

c'est lourd de devoir ajouter du code autour de trois lignes pour donner une aide ou un avis.
et aussi si possible une version récente de pb disponible en téléchargement dans l'espace membres, pas un truc sorti d'un autre age ou dont on ne sait d'où...

parce qu'en l'état ce code ne fonctionnerais même pas sur mon pb actuel du a la syntaxe différente...
ImageImage
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Pourquoi DrawImage ne marche pas ici?

Message par Backup »

Ar-S a écrit : je ne testerai plus aucun code non fonctionnel à partir de maintenant. J'entends par fonctionnel un code executable avec fenêtre et events/loop.
ya longtemps que j'ai appliqué ce précepte :)
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Pourquoi DrawImage ne marche pas ici?

Message par Ar-S »

Ouai mais je suis arrivé en 2005, tu avais pris de l'avance :lol:
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Pourquoi DrawImage ne marche pas ici?

Message par falsam »

anissa a écrit :@falsam

Je crois que vous sortez du sujet: il s'agit de DrawImage, c'est ça qui ne fonctionne pas chez moi quand je l'utilise sur un panel.
Au regard du peu de code fourni, j'ai cru comprendre que vous vouliez juste charger une image et l'afficher dans un Gadget Image avec des dimensions imposées . Voila pourquoi dans mon exemple de code, drawimage n'apparaissait pas.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Pourquoi DrawImage ne marche pas ici?

Message par falsam »

je vais tacher de ne pas sortir du sujet et de rester dans le cadre de ta demande. Ooops pardon, de votre demande.

Code : Tout sélectionner

UseJPEGImageDecoder() 

Enumeration
  #MainForm
  #Panel
  #Image ;Celle qui figure sur la fenetre 
  
  #RImage1
  #RImage2
  EndEnumeration

Procedure MainFormShow()
  OpenWindow(#MainForm,0,0,450,350,"Image sur panel",#PB_Window_ScreenCentered | #PB_Window_SystemMenu)
  
  ;////// Début de ton code fourni
  LoadImage(#RImage1,"img1.jpg")  
  CreateImage(#RImage2,255,255)
  StartDrawing(ImageOutput(#RImage2))
  DrawImage(ImageID(#Rimage1),10,10,50,50)
  StopDrawing()
  ;///// Fin de ton code fourni
  
  ;Maintenant j'improvise :p (J'adore ça)
  
  ImageGadget(#Image,15,15,0,0, ImageID(#RImage2))
    
  SetGadgetState(#Image,ResizeImage(#RImage2,250,250))
  
  FreeImage(#RImage1)
  
EndProcedure

MainFormShow()

Repeat
  Select WaitWindowEvent()
    Case #PB_Event_Gadget

    Case #PB_Event_CloseWindow
      End
  EndSelect
ForEver
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Répondre