Bonjour,
J'aimerai pouvoir créer une seule image JPG à partir de deux images JPG, la deuxième étant en-dessous de la première.
Est-ce possible ?
Si oui, comment ?
Merci
Bonjour,
J'aimerai pouvoir créer une seule image JPG à partir de deux images JPG, la deuxième étant en-dessous de la première.
Est-ce possible ?
Si oui, comment ?
Merci
Oui avec 2 pictureBox
Une contien l'image de fond
La seconde l'image a copier avec une couleur différencient la zone a masquer lors de la supoerposition...
Tu parcoure la seconde point par point et si la couleur est différente de celle de la zone a masquer hop tu change la couleur de ce point dans la picturebox contenant le fond...
Voila :p
Merci Vesta, mais quand je disais "en-dessous", c'était en fait pour dire la première en haut et l'autre en bas... Ca devait être trop simple
En tout cas l'idée des 2 PictureBox est intéressante, même si je dois éviter d'afficher cela sur une interface...
J'ai pas le temps de tester ca tout de suite, je pensais pas que la réponse serait aussi rapide![]()
Salut
J'espère que tu es familiers avec ce format de fichiers. Tu connais ses spécifications?
Euh ben je vais m'informer![]()
C'est aussi compliqué que ca de faire un truc aussi "simple" ?
Ben... c'est surtout pour trouver où dans le fichier se cache l'information sur la taille de l'image, si ça se trouve... Je n'ai jamais bidouillé dans ce type de fichier, mais c'est par l'étude du format que je commencerais... personnellement.
J'ai bien lu créer une seule image... d'où ma suggestion d'étudier la structure des fichier JPEG.Envoyé par KrusK
À moins qu'un astucieux connaisse une API qui enregistre les fichiers JPG... ?
rebonsoir
ci joint un exemple complet qui permet de fusionner 2 images verticalement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72 Sub FusionVerticale_DeuxImages() 'Utilisation de la 'librairie Windows Image Acquisition Automation Library v2.0 '(à partir de Windows XP) ' Dim Img1 As Object, Img2 As Object Dim IP As Object Dim Largeur As Long, Hauteur As Long Dim V As Object, Img3 As Object Dim C As Long Dim i As Integer Set Img1 = CreateObject("WIA.ImageFile") Set Img2 = CreateObject("WIA.ImageFile") Set IP = CreateObject("WIA.ImageProcess") 'l'image qui sera placée au dessus Img1.LoadFile ("C:\Documents and Settings\michel\dossier\image01.JPG") 'l'image qui sera placée dessous Img2.LoadFile ("C:\Documents and Settings\michel\dossier\image02.JPG") '------ceation d'une image support pour fusionner les 2 images If Img1.Width > Img2.Width Then Largeur = Img1.Width Else Largeur = Img2.Width End If Hauteur = Img1.Height + Img2.Height C = &H80000004 'couleur de fond Set V = CreateObject("WIA.Vector") V.Add C V.Add C V.Add C V.Add C Set Img3 = V.ImageFile(2, 2) Set IP = CreateObject("WIA.ImageProcess") IP.Filters.Add IP.FilterInfos("Scale").FilterID IP.Filters(1).Properties("MaximumWidth") = Largeur IP.Filters(1).Properties("MaximumHeight") = Hauteur IP.Filters(1).Properties("PreserveAspectRatio") = False Set Img3 = IP.Apply(Img3) '------------------ 'réinitialisation des filtres For i = 1 To IP.Filters.Count IP.Filters.Remove i Next i 'fusionner l'image1 dans le support IP.Filters.Add (IP.FilterInfos("Stamp").FilterID) IP.Filters(1).Properties("ImageFile") = Img1 IP.Filters(1).Properties("Left") = 0 IP.Filters(1).Properties("Top") = 0 Set Img3 = IP.Apply(Img3) 'fusionner l'image2 dans le support IP.Filters(1).Properties("ImageFile") = Img2 IP.Filters(1).Properties("Left") = 0 IP.Filters(1).Properties("Top") = Img1.Height Set Img3 = IP.Apply(Img3) 'sauvegarde de la nouvelle image Img3.SaveFile ("C:\resultat_Fusion_Deux_images.jpg") End Sub
bonne soiree
michel
Merci Michel, ca marche nickel !(pas fait exprès la rime
)
PS : zazaraignée, je ne cherchais pas à analyser la structure d'un fichier JPG![]()
j'aimerais savoir si ces lignes de code, normalement fait sur [VB6], peuvent-elles etre utilisé en [VBa -E]?![]()
Merci d'avance
bonjour
cette macro a été réalisée en VBA-Excel2002 , sous WinXP
bonne journée
michel
![]()
![]()
![]()
dézolé d'avoir ajouté un text qui ne sert à rien mais je me suis planté d'endroit![]()
Partager