PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → [WD14] Zone Répétée et dessin
[WD14] Zone Répétée et dessin
Iniciado por Aline_Blanche, 10,jul. 2009 17:25 - 6 respuestas
Publicado el 10,julio 2009 - 17:25
Bonjour,

j'ai une Zone Répétée dans laquelle se trouve un champ image.

J'aimerai pouvoir dessiner dans ce champ image avec les fonctions "dessine" "d" et/ou de manière générale dessiner dans un flux image.

Est-ce que quelqu'un sait comment faire ? Il me semble que ça n'est pas possible, mais à tout hasard...
Publicado el 11,julio 2009 - 01:39
Bonjour Aline,
Je crois que le plus simple serait de créer un champs Image hors écran et de dessiner dans ce champs. Le transférer ensuite dans l'élément spécifique de la zr.

Christian

Aline Blanche a écrit dans le message de news <6aaedeb6ca1f4825c43348f2444dd25d@news.pcsoft> :
Bonjour,

j'ai une Zone Répétée dans laquelle se trouve un champ image.

J'aimerai pouvoir dessiner dans ce champ image avec les fonctions "dessine" "d" et/ou de manière générale dessiner dans un flux image.

Est-ce que quelqu'un sait comment faire ? Il me semble que ça n'est pas possible, mais à tout hasard...
Publicado el 16,julio 2009 - 11:11
Qu'entendez-vous par transférer ?

merci
Publicado el 18,julio 2009 - 22:44
Bonjour Aline,
Copier l'image qui est hors écran dans l'image de l'occurence de la zone répétée.
Quelque chose comme:
MaZr.attImage[IndiceLigne] = MonImageHorsÉcran

Christian

All In a écrit dans le message de news <4f1062c047edb2a56ab18742968e1965@news.pcsoft> :
Qu'entendez-vous par transférer ?

merci
Publicado el 20,julio 2009 - 10:44
Merci je vais essayer ça alors.
Publicado el 21,febrero 2014 - 00:03
Bonjour,

Je sais que bien du temps a passé depuis la publication de ce sujet, j'ai eu à résoudre ce problème dernièrement. Attribuer l'image de cette façon:

MaZr.attImage[IndiceLigne] = MonImageHorsÉcran

ou de cette façon:

MaZr[IndiceLigne].ImageDansZr = MonImageHorsÉcran

n'a pas fonctionné pour moi.

Il faut une variable de type image pour y arriver

ImageDessinée est une Image = MonImageHorsÉcran
MaZr[IndiceLigne].ImageDansZr = ImageDessinée

Je ne sais pas si cela a été corrigé dans le version 19, mais ce serait bien de pouvoir dessiner dans une image dans une zone répétée.
Miembro registrado
7 mensajes
Publicado el 29,febrero 2020 - 22:46
Le temps passe et merci François, faire cela me rappel qu'il faut voir le champ image comme un lien fichier doubler d'une zone d'affichage isolé.
Oui il manque une propriété ..imageaffiché peut être, ou du ..valeurretourné = image ou lien , serais moins lourd.

Voici un peu de code WDM25 pour faire une zr d'image de dessin a partir d'un champ image hors écran


Selection de zr

nIndice est un entier = ZR_Forme

SI ChampExiste("IMG_Forme"+nIndice) ALORS
Image est un Image = {"IMG_Forme"+ZR_Forme[nIndice].ATT_Forme,indChamp} //ATTForme = nIndice en faite - vestige d'essai
ZR_Forme[nIndice].IMG_ZForme = Image
FIN


Initialisation de zr

nRepZ est un entier = 10
sImg est une chaîne

POUR i = 1 À nRepZ
sImg = "IMG_Forme"+i
SI ChampExiste(sImg) = Faux ALORS //vestige d'essai de placement de la fonction, inutile ici
ChampClone(IMG_Forme,sImg)
{sImg,indChamp}..Largeur = IMG_Forme..Largeur
{sImg,indChamp}..X = IMG_Forme..X + i*(IMG_Forme..Largeur + 3)
{sImg,indChamp}..Hauteur = IMG_Forme..Hauteur
SELON i
CAS 1
nTaille est un entier = 6
nTaille = nTaille/2
dArc(sImg, 5-nTaille,5-nTaille,35+nTaille,35+nTaille,8-nTaille,5-nTaille,35+nTaille,35+nTaille, Noir,nTaille)
CAS 2
POUR z = 1 À 100
dPoint(sImg,Hasard(40),Hasard(40),Noir)
FIN
POUR z = 1 À 100
dPoint(sImg,Hasard(10,30),Hasard(10,30),Noir)
FIN
CAS 3
nTailleX est un entier = 30
nTailleY est un entier = 20
nTailleX = nTailleX/2
nTailleY = nTailleY/2
dCercle(sImg,20-nTailleX,20-nTailleY,20+nTailleX,20+nTailleY,Noir,Noir)
CAS 4
nTailleX est un entier = 30
nTailleY est un entier = 20
nTailleX = nTailleX/2
nTailleY = nTailleY/2
dCercle(sImg,20-nTailleX,20-nTailleY,20+nTailleX,20+nTailleY,Transparent,Noir)
CAS 5
nTaille est un entier = 30
nTaille = nTaille/2
dCercle(sImg,20-nTaille,20-nTaille,20+nTaille,20+nTaille,Noir,Noir)
CAS 6
nTaille est un entier = 30
nTaille = nTaille/2
dCercle(sImg,20-nTaille,20-nTaille,20+nTaille,20+nTaille,Transparent,Noir)
CAS 7
nTaille est un entier = 30
nTaille = nTaille/2
dRectangle(sImg,20-nTaille,20-nTaille,20+nTaille,20+nTaille,Noir,Noir)
CAS 8
nTaille est un entier = 30
nTaille = nTaille/2
dRectangle(sImg,20-nTaille,20-nTaille,20+nTaille,20+nTaille,Transparent,Noir)
CAS 9
nTaille est un entier = 12
nTaille = nTaille/2
dLigne(sImg, 5-nTaille,5-nTaille,35+nTaille,35+nTaille, Noir,nTaille)
CAS 10
{"IMG_Forme"+i,indChamp} = IMG_Remplissage
AUTRE CAS
FIN
FIN
FIN

exécuter dans ou après Fin d'initialisation de fenêtre

nRepZ est un entier = 10
ZoneRépétéeSupprimeTout(ZR_Forme)
POUR i = 1 À nRepZ
ZoneRépétéeAjoute(ZR_Forme,""+TAB+i) //IMG + tab + valeurForme
FIN
ZR_Forme..Largeur = nRepZ*ZR_Forme..LargeurColonne+1 //esthétisme de ma zr en visible à droite en ancrage largeur sans vide
ZR_Forme..X = LIB_Cadre..X + LIB_Cadre..Largeur-3 - ZR_Forme..Largeur
SI ZR_Forme..X < LIB_Cadre..X+3 ALORS ZR_Forme..X = LIB_Cadre..X+3
SI ZR_Forme..Largeur > LIB_Cadre..Largeur-6 ALORS ZR_Forme..Largeur = LIB_Cadre..Largeur-6