Quoi, tu ne connais pas PB ? Va falloir parcourir tout le forum alors !

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 25-09-2008 09:06:07

FOSTA  
Membre
Date d'inscription: 21-07-2008
Messages: 18
Pépites: 91
Banque: 0

Comment insérer et afficher une image

Bonjour,
Je souhaite inserer le chemin d'une image puis afficher dynamiquement l'image dans un "picture object" que j'ai placé sur la datawindows contenant les champs de la table que j'utilise (Le chemin de la photo aussi s'y trouve).

Quelqu'un peut-il m'aider?

Merci.

Hors ligne

 

#2 25-09-2008 09:15:43

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2485
Pépites: 82
Banque: 9,223,372,036,854,776,000

Re: Comment insérer et afficher une image

Tu peux utiliser une compute avec en expression la fonction "bitmap"
et en paramètre le chemin d'accès de ton image


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#3 25-09-2008 09:18:23

buck  
Modérateur
Lieu: Dijon
Date d'inscription: 31-07-2008
Messages: 746
Pépites: 1,028,840
Banque: 171,170,849,654

Re: Comment insérer et afficher une image

Bonjour,

Le principe est de charger l'image en mémoire dans une variable de type BLOB à l'aide des fonctions (FileOpen, FileRead ou FileReadEx , FileClose).

Ensuite tu affiches l'image dans ton "picture control" :

Code: pb

picturecontrol.SetPicture( bimage )

Hors ligne

 

#4 25-09-2008 09:55:45

nico  
Modérateur
Award: bf
Lieu: Plélan le grand
Date d'inscription: 08-02-2007
Messages: 273
Pépites: 13
Banque: 9,223,372,036,854,776,000

Re: Comment insérer et afficher une image

Bonjour,

j'utilise un fichier PBR dans lequel je mets les chemins des fichiers BMP que je manipule. Ce fichier est compilé avec mon exe

et j'utilise :

Code: pb

win_1.P_1.PictureName = install_dir+"\IMAGES\toto.bmp"

Hors ligne

 

#5 25-09-2008 09:59:10

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2485
Pépites: 82
Banque: 9,223,372,036,854,776,000

Re: Comment insérer et afficher une image

N'oubliez pas cependant que nous sommes dans une datawindow, pas sur un picture controle dans une fenêtre

Maintenant, il est vrai qu'il existe beaucoup de solutions différentes
pour gérer dynamiquement les images au sein d'une datawindow. Tout dépend du besoin et des exigences de l'utilisateur final


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#6 25-09-2008 10:15:47

nico  
Modérateur
Award: bf
Lieu: Plélan le grand
Date d'inscription: 08-02-2007
Messages: 273
Pépites: 13
Banque: 9,223,372,036,854,776,000

Re: Comment insérer et afficher une image

Désolé Foon

Code: pb

dw_1.object.p_1.filename = install_dir+"\IMAGES\toto.bmp"

Hors ligne

 

#7 25-09-2008 10:48:12

FOSTA  
Membre
Date d'inscription: 21-07-2008
Messages: 18
Pépites: 91
Banque: 0

Re: Comment insérer et afficher une image

Mon object picture je l'ai placé sur ma datawindows je n'arrive pas à faire afficher l'image sur l'objet picture de la datawindow.
le code que j'ai écrit dans l'évènement click de mon bouton qui me permet d'insérer l'image est le suivant:

Code: pb

integer li_FileNum,ret
string txtname, named
blob l_image

//string defext = "BMP"

//string Filter = "bitmap Files (*.bmp), *.bmp"

ret = GetFileOpenName("Open Bitmap", txtname, named)

IF ret = 1 THEN
        li_FileNum = FileOpen(txtname, StreamMode!)
        IF li_FileNum <> -1 THEN
            FileRead(li_FileNum, l_image)
            FileClose(li_FileNum)    
           dw_eleve.object.p_photo[ii_NUM_LIGNE_eleve].SetPicture(l_image)
           dw_eleve.object.photoeleve[ii_NUM_LIGNE_eleve] =txtname
        END IF
END IF


NB :

Hors ligne

 

#8 25-09-2008 12:13:56

nico  
Modérateur
Award: bf
Lieu: Plélan le grand
Date d'inscription: 08-02-2007
Messages: 273
Pépites: 13
Banque: 9,223,372,036,854,776,000

Re: Comment insérer et afficher une image

Attention, tu utilise ton Picture control comme une colonne. Il ne peut y avoir de numéro de ligne.

Quant à ta colonne photoeleve, elle est sert à afficher le chemin de l'image? Tu peux la remplacer par un statictext par exemple.

tu peux essayer ça pour voir?

Code: pb

integer ret
string txtname, named

//string defext = "BMP"

//string Filter = "bitmap Files (*.bmp), *.bmp"

ret = GetFileOpenName("Open Bitmap", txtname, named)

IF ret = 1 THEN
        dw_eleve.object.p_1.filename =  txtname
        dw_eleve.object.photoeleve.text =txtname
END IF



MESSAGE DE MODERATION - BALISE CODE : utilise code=pb et non code:pb   

Hors ligne

 

#9 25-09-2008 12:55:52

juldace  
Membre Geek
Date d'inscription: 22-07-2008
Messages: 52
Pépites: 245
Banque: 0

Re: Comment insérer et afficher une image

FOSTA  utilise la methode de foon c'est la plus appropriée pour ton probleme tu utilises le controle creat a computed field et prends la fonction bitmap (bitmap(le champ ou se trouve le chemin de l'image)
j'espere d'avoir aider petit Papa

Hors ligne

 

#10 25-09-2008 13:02:12

buck  
Modérateur
Lieu: Dijon
Date d'inscription: 31-07-2008
Messages: 746
Pépites: 1,028,840
Banque: 171,170,849,654

Re: Comment insérer et afficher une image

Bonjour,

Dans ma réponse, j'étais parti sur le fait que tu posais un "windows picture control" ( et non un "datawindow picture control") par dessus la datawindow comme je le fais dans mon application.

Evidemment, la méthode setpicture du picture control n'est valable que pour le "windows picture control".

Je stocke les images dans une colonne de type blob de la base de données, ceci m'évite de décharger l'image en local sur le disque pour la réafficher. L'autre avantage est de pouvoir conserver la proportionnalité de l'image à l'affichage en retaillant dynamiquement de façon adéquate le picture control :

http://bucaille.chez-alice.fr/pbadonf/article.jpg

Hors ligne

 

#11 25-09-2008 15:04:44

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4645
Pépites: 906
Banque: 2,147,483,647
Site web

Re: Comment insérer et afficher une image

0 000 pour buck (et au passage, arretes de me narguer avec tes jolis ecrans )


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#12 20-10-2008 09:33:56

FOSTA  
Membre
Date d'inscription: 21-07-2008
Messages: 18
Pépites: 91
Banque: 0

Re: Comment insérer et afficher une image

Merci à tous, j'ai réessayer ça marcher avec la méthode foon.

Hors ligne

 

#13 20-10-2008 09:57:43

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2485
Pépites: 82
Banque: 9,223,372,036,854,776,000

Re: Comment insérer et afficher une image

N'oublie pas le [RESOLU] 


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22