PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Copie un image en dessous d’image destinatarie
Copie un image en dessous d’image destinatarie
Débuté par Ibrahim, 23 jan. 2024 20:04 - 5 réponses
Membre enregistré
5 messages
Posté le 23 janvier 2024 - 20:04
Bonjour et meilleurs vœux à tous,
Après plusieurs recherches, je m'adresse à vous pour répondre à mon besoin. J'aimerais fusionner deux images de manière horizontale, où l'image source serait copiée en dessous de l'image destinataire. Je ne sais pas quelle fonction WLangage utiliser pour réaliser cela, car mes tentatives avec dcopie et dfusion ont échoué. Si quelqu'un a une idée ou du code déjà existant, je suis preneur. Merci de votre aide.
Membre enregistré
560 messages
Posté le 24 janvier 2024 - 01:55
Bonjour,
Voici un exemple avec 2 champs Image contenant chacun une image (dans cet exemple, Image1 et Image2 contiennent tous deux une image de 80x80) et un troisième champs Image3 va recevoir Image1 puis Image2 sous Image1).

Image3..Hauteur = Image1..Hauteur + Image2..Hauteur // On définit la hauteur de Image3 = Hauteur de Image1 + Hauteur de Image2
Image3..Largeur = 80
dCopieImage(Image1, Image3, copieSrcCopie, 0, 0, Image1..Hauteur, Image1..Largeur, 0, 0, Image1..Hauteur, Image1..Largeur)
dCopieImage(Image2, Image3, copieSrcCopie, 0, 0, Image2..Hauteur, Image2..Largeur, 0, Image1..Hauteur, Image2..Hauteur, Image2..Largeur)
dSauveImageBMP(Image3, ComplèteRep(fRepExe) + "image3fusion.BMP")






Cdlt
Message modifié, 24 janvier 2024 - 01:56
Membre enregistré
5 messages
Posté le 24 janvier 2024 - 08:58
@Cédric_34
Merci, cela fonctionne très bien avec un champ image. Cependant, si l'on souhaite utiliser une variable à la place du champ image, j'ai constaté que le paramètre "copieSrcCopie" n'est pas pris en compte.

Utilisation d'une variable à la place du champ image




Code avec le paramètre "copieSrcCopie"
Message modifié, 24 janvier 2024 - 09:00
Membre enregistré
5 messages
Posté le 24 janvier 2024 - 09:00
Suite de la reponse


Membre enregistré
560 messages
Posté le 24 janvier 2024 - 09:53
Je n'ai pas essayé avec des variables. Je verrai si je peux faire un test mais pas le temps pour le moment.
Ceci dit, rien ne vous empêche de travailler avec des champs image invisibles ou en dehors de la fenêtre (donc invisible à l'exécution).
Membre enregistré
5 messages
Posté le 24 janvier 2024 - 09:56
J'ai réussi grâce au code fourni par Cédric. Auparavant, j'avais mal interprété la documentation de PCSoft. La solution à mon problème était la suivante, au cas où d'autres personnes en auraient besoin.

nNmbrPDF est un entier = PDFNombreDePages("monpdf.PDF")

ImageSource, ImageDestinataire est une Image

POUR i = 1 _À_ nNmbrPDF

ImageSource = PDFExtraitPage("monpdf", i)

SI i=1 ALORS
ImageDestinataire = ImageSource
SINON
ImageDestinataire.Hauteur += ImageSource.Hauteur
FIN
dCopie(ImageSource, ImageDestinataire, 0, 0, ImageSource.Hauteur, ImageSource.Largeur, 0, i = 1 ? 0 SINON ImageDestinataire.Hauteur - ImageSource.Hauteur, ImageSource.Hauteur, ImageSource.Largeur)
FIN

IMG_IMG = ImageDestinataire


Merci également à tous
Message modifié, 24 janvier 2024 - 10:03