GrabImage(#PB_Canvas_Image) possible ?

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
ElwoOOod
Messages : 15
Inscription : lun. 28/juil./2014 13:15

GrabImage(#PB_Canvas_Image) possible ?

Message par ElwoOOod »

Bonjour,
Après pas mal de cheveux perdus, j'arrive presque au bout. Cependant, je me heurte a une incompréhension.

Pour ne pas vous mettre tout le code, je vous explique.
Je cherche a sauvegarder un bout de l'image de mon MainCanvas avant l'ajout d'element.

Si j'insere dans mon code

Code : Tout sélectionner

  StartDrawing(ImageOutput(#STBackBuffer)) : DrawingMode(#PB_2DDrawing_Default)
  DrawImage(GetGadgetAttribute(#MainCanvas,#PB_Canvas_Image),0,380,720,28)
  StopDrawing()
Ca marche niquel sauf que tous mes sprites se mettent à scintiller.
Pour gagner du temps, je me dis que je pourrais remplacer ces lignes par un simple

Code : Tout sélectionner

    GrabImage(GetGadgetAttribute(#MainCanvas,#PB_Canvas_Image),#STBackBuffer,0,380,720,28)
Sauf que là, j'ai un
[ERROR] The specified #Image is not initialised
???

A noter que MainCanvas est affiché (et son image active), STBackBuffer deja appelé au moins une fois au demarrage de l'appli et possede des données (donc initialisé)
Help ^^
ElwoOOod
Messages : 15
Inscription : lun. 28/juil./2014 13:15

Re: GrabImage(#PB_Canvas_Image) possible ?

Message par ElwoOOod »

Oups, erreur de ma part, j'ai oublié le ImageID et là c'est le drame car meme la partie du code

Code : Tout sélectionner

  StartDrawing(ImageOutput(#STBackBuffer)) : DrawingMode(#PB_2DDrawing_Default)
  DrawImage(ImageID(GetGadgetAttribute(#MainCanvas,#PB_Canvas_Image)),0,380,720,28)
  StopDrawing()
Me renvoi l'erreur 'The specified #Image is not initialised

A noter que si j'envoi ca un peu avant, je n'ai pas d'erreur a cet endroit du code (ce qui me laisse penser que les images sont bien initialisé ?)

Code : Tout sélectionner

  StartDrawing(CanvasOutput(#MainCanvas)) : DrawingMode(#PB_2DDrawing_Default)
  DrawImage(ImageID(#STBackBuffer),0,380,720,28)
  StopDrawing()
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: GrabImage(#PB_Canvas_Image) possible ?

Message par Backup »

mais il y a une image dans ton Canvas ??

le Canvas est un container .... comme l'openScreen ...

si tu utilises une image , faut qu'elle soit presente dans le Canvas

le fait de dessiner dans un canvas, n'implique pas qu'il y a une image !!
tu dessines dans le Canvas ..

tu peux Creer une image, dessiner dans cette image, et afficher cette image dans le Canvas ...

suis-je clair ???
mais cette image doit avoir été créé !! (Createimage() ou loadimage() )


Principe de Base

je creer une image (Createimage())
je dessine dans cette image Start Drawing(imageoutput())
Box(10,10,100,100,couleur)
Stop Drawing


j'affiche l'image dans le Canvas :
Start Drawing (Canvas output())
Drawimage()
Stop Drawing
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: GrabImage(#PB_Canvas_Image) possible ?

Message par Ollivier »

Et pis t'as vu l'heure là Helmut?
T'es dans un fuseau horaire où il y a un couvre-feu?
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: GrabImage(#PB_Canvas_Image) possible ?

Message par Backup »

ha oui , c'est curieux ...
il est pas minuit ... 8O

encore un coup d'avoir utilisé des Proxys (chinois )

il a fallu que je règle le forum pour dire que j'habite le Groenland pour avoir l'heure juste dans mes Messages !! 8O
ElwoOOod
Messages : 15
Inscription : lun. 28/juil./2014 13:15

Re: GrabImage(#PB_Canvas_Image) possible ?

Message par ElwoOOod »

Merci,
Toutes mes images sont soit CatchImage ou CreateImage, pas de soucis.
En isolant les constantes, c'est le GetGadgetAttribute(#MainCanvas,#PB_Canvas_Image) qui me renvoi une valeur null.
Comme je suis un noob et que je m'eparpille, j'ai pas lu la ligne dans le doc precisant que #PB_Canvas_Image ne renvoi une valeur que sur un WindowEvent() ... Flute :/

Donc, il faut que je modifie tout mon code pour ajouter un #MainBuffer, mais pour l'instant ca clignote a mort :/
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: GrabImage(#PB_Canvas_Image) possible ?

Message par Ollivier »

@Dobro

Mais c'ezt pas à toi que je parle, le vieux grément là! C'est à l'autrz là "Helmut", je comprends pas son pseudo. Il a dû glisser en s'inscrivant... Il y a des lettres "o" en trop...

Putain c'est pas mak les canva machin. Je connaisais pas. Des fois Fred il a des bonnes idees. Je vais regardet ça de plus près c'est que ça serait interessant ça.

@Ehud

Bon attends là. Je vais chercher la batterie de la renault 19 ey je vais mettre l'ordinateur en route avec. Si tu veux Fred, cnest un peu un bourrin des fois. Y t'a fait une bibliotheque ou tu peux tout écrire sur un rendu 2d : des ronds des croix, fes carrés, des rectangles, des caklbacks, des losanges, des tpurd eiffel, etc...

Par contre, pour LIRE un rendu 2d, l'ensemble de la globalité générale de toutes les nombreuses fonctions de lecture d'un rendu 2D en PureBASIC Version Summer 2014 sont énumérées dans la liste ci-dessous:

- Point()





C'est tout! Fin de la grande liste. Si le rendu 2D était une femme, tu peux la tatouer de haut en bas de tout les couleurs, de toutes les formes, etc... Par contre, tu te débrouilles pour gérer tout le dessin en la regardant par le trou de la serrure (la fonction "point"): t'as que ça pour la regarder!

Alors excuse-moi ehud, j'ai un rdv, vu l'heure, le joir, etcc.... Disons que pour la fin de la messe dominiquale demain matin, si personbe ne l'a fait avant moi, je posterai un code qui équivaut à une défonce de porte pour voir madame autrement que par le petit trou, autrement dit, t'auras forcément un code dans quelques heures qui corresppnd à ce que tu veux, à savzoir sauveharder un bout ou la totalité de ton calvagadget.
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: GrabImage(#PB_Canvas_Image) possible ?

Message par Ollivier »

GrabDrawingImage()
c'est ça qu'il te faut helmut! Fred l'a fait! Là, ça devient sérieux!
ElwoOOod
Messages : 15
Inscription : lun. 28/juil./2014 13:15

Re: GrabImage(#PB_Canvas_Image) possible ?

Message par ElwoOOod »

je ne sais pas trop comment je dois prendre ton message mais t'inquietes, m'en faut plus pour me vexer :p

En tout cas, merci quand meme, GrabDrawingImage() est exactement ce qu'il me manquait et ca marche niquel.
Desole de ne pas connaitre toutes les commandes de Fred, je debute en PB :/
Avatar de l’utilisateur
graph100
Messages : 1318
Inscription : sam. 21/mai/2005 17:50

Re: GrabImage(#PB_Canvas_Image) possible ?

Message par graph100 »

En tout cas, le Ollivier, soit il avait trouvé un bon rouge, soit il écrit depuis un terminal pas catholique :wink:
_________________________________________________
Mon site : CeriseCode (Attention Chantier perpétuel ;))
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: GrabImage(#PB_Canvas_Image) possible ?

Message par Backup »

ne noooooous le vexe pas , il viens a peine de revenir :lol:
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: GrabImage(#PB_Canvas_Image) possible ?

Message par Ollivier »

Pas de problème Kenwood. Et je comprends mieux pourquoi j'ai retrouvé la batterie dans l'évier en rentrant...
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: GrabImage(#PB_Canvas_Image) possible ?

Message par Ollivier »

...sur un tas d'assiettes explosées par ladite batterie. C'est la nouvelle méthode du samedi soir pour faire la vaisselle avant d'aller en bringue.
Avatar de l’utilisateur
SPH
Messages : 4937
Inscription : mer. 09/nov./2005 9:53

Re: GrabImage(#PB_Canvas_Image) possible ?

Message par SPH »

J'comprend pas tout mais j'vais t'dire : ouai

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: GrabImage(#PB_Canvas_Image) possible ?

Message par Ollivier »

@Seph

C'est compliqué. C'est l'histoire d'une gonzesse qui, un jour a décidé d'en découdre avec une pince coupante dans tous les câbles qu'elles pouvaient trouver. Il y a quelques transfos qui n'ont pas apprécié.

Résultat: j'ai tout mis sur batterie et panneau solaire. Comme ça, quand je veux que quelque chose tourne H24, je fous ça dans un champs, avec quelques tapettes parce que quand c'est pas une gonzesse hystéro (attention, j'ai pas dit que c'était un défaut), c'est des mulots qui s'acharnent sur les câbles, ou bien les fourmis qui squattent l'électronique, etc...
Répondre