Adresse image

Sujets variés concernant le développement en PureBasic
SORLET
Messages : 14
Inscription : lun. 02/janv./2006 7:55
Localisation : Montreuil-sous-Bois

Adresse image

Message par SORLET »

Bonjour tous,

Je cherche comment récupérer l'adresse d'une image chargée en mémoire avec cette instruction :

Code : Tout sélectionner

Image = LoadImage(#PB_Any, Fichier$)
?

Quand je fais

Code : Tout sélectionner

Adresse = @Image
ou

Code : Tout sélectionner

*Adresse = @Image
, cela ne pointe pas sur l'image.

Quelqu'un a-t-il la réponse ?

Marc
Marc
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Adresse image

Message par Backup »

...
Dernière modification par Backup le mar. 19/août/2014 9:35, modifié 1 fois.
Avatar de l’utilisateur
majikeyric
Messages : 602
Inscription : dim. 08/déc./2013 23:19
Contact :

Re: Adresse image

Message par majikeyric »

si tu veux l'adresse physique de l'image c'est avec DrawingBuffer() :

Code : Tout sélectionner

StartDrawing(ImageOutput(image))
adresse=DrawingBuffer()
StopDrawing()
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Adresse image

Message par Backup »

ha bah voila ... ch'avais bien qu'on pouvais :mrgreen:
Patrick88
Messages : 1564
Inscription : mer. 21/janv./2004 18:24

Re: Adresse image

Message par Patrick88 »

et le hdc (que l'ont obtenait avec getDC_() ), c'est la même chose ?
SORLET
Messages : 14
Inscription : lun. 02/janv./2006 7:55
Localisation : Montreuil-sous-Bois

Re: Adresse image

Message par SORLET »

Je me fais mal comprendre. Je cherche l'endroit mémoire où le fichier Image est rangé.
Par exemple :

Code : Tout sélectionner

Texte$ = "Je suis un texte."
Adresse = @Texte$ ;ou
*Pointeur = @Texte$
Debug PeekS(Adresse)  ; ou
Debug PeekS(*Pointeur) ; ou
Debug PeekS(@Texte$) ; renvoie "Je suis un texte.", et
Debug Adresse  ; ou
Debug *Pointeur ; ou
Debug @Texte$ ; renvoie l'adresse de la variable en mémoire vive.
Les instructions entre StartDrawing(ScreenOutput) et StopDrawing(), comme Couleur = Point(x, y) sont infiniment trop lentes.

Marc
Marc
SORLET
Messages : 14
Inscription : lun. 02/janv./2006 7:55
Localisation : Montreuil-sous-Bois

Re: Adresse image

Message par SORLET »

majikeyric a écrit :si tu veux l'adresse physique de l'image c'est avec DrawingBuffer() :

Code : Tout sélectionner

StartDrawing(ImageOutput(image))
adresse=DrawingBuffer()
StopDrawing()
Merci, cela me semble être ça.
Je m'en vais essayer et je vous tiens au courant.
Dès fois, on est coincé pour pas grand chose.
Marc
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Adresse image

Message par falsam »

Si tu es en phase de test n'oublies pas d'inclure DisableDebugger pour aller plus vite.
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Lord Nelson
Messages : 355
Inscription : dim. 01/déc./2013 15:29

Re: Adresse image

Message par Lord Nelson »

Intéressant ça :)
Tu cherche à faire plus vite que Plot et Point ?

SI c'est la cas alors là ça m’intéresse :D
Comment fais-tu ?
Ollivier
Messages : 4190
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: Adresse image

Message par Ollivier »

A force de déterrer, ça va finir par s'effondrer...
http://www.youtube.com/watch?v=S1f6vbiuUt0
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Re: Adresse image

Message par blendman »

Je déterre le sujet, mais j'ai une question suite à ce sujet :
comment fait(on ensuite pour sauvegarder l'image ?

Par exemple, si je fais :

Code : Tout sélectionner

StartDrawing(ScreenOutput()); pour obtenir ce qui est affiché sur le screen
adresse=DrawingBuffer()
StopDrawing()
Comment puis-je sauvegarder ce qui s'affiche sur le screen ?

EDIT : bon, j'ai trouvé avec plusieurs techniques.
La plus simple : grabsprite() et savesprite()

Sinon, c'est aussi possible avec drawingbuffer()
Voir ici : http://www.purebasic.fr/french/viewtopi ... =1&t=15239
Répondre