Ouverture d'une image
Dernière réponse : dans Programmation
Bonjour à tous,
J'ai fais l'acquisition de VB 5 non pas parce que je n'aime pas le 6 mais tous simplement parce que je disposais d'une licence. J'aimerais pouvoir chargé une image sous VB. J'ai créee mon bouton de commande que j'ai renommé, et je lui ai donné le chemin d'accès de l'image que je voulais chargé :
Open "C:\Nature\lion.jpg" For Input As #1
Cependant lorsque je met lexture j'obtiens un message d'erreur : Erreur 55 fichier déjà ouvert..
Est-il possible aussi, si je met plusieurs images dans le dossier Nature, d'ouvrir n'importe quelles images présentent dans ce dossier ?
Cordialement
LeaKciM58
J'ai fais l'acquisition de VB 5 non pas parce que je n'aime pas le 6 mais tous simplement parce que je disposais d'une licence. J'aimerais pouvoir chargé une image sous VB. J'ai créee mon bouton de commande que j'ai renommé, et je lui ai donné le chemin d'accès de l'image que je voulais chargé :
Open "C:\Nature\lion.jpg" For Input As #1
Cependant lorsque je met lexture j'obtiens un message d'erreur : Erreur 55 fichier déjà ouvert..
Est-il possible aussi, si je met plusieurs images dans le dossier Nature, d'ouvrir n'importe quelles images présentent dans ce dossier ?
Cordialement
LeaKciM58
Autres pages sur : ouverture image
Lassé par la pub ? Créez un compte
Salut,
VB5 et V6 sont complètement obsolètes (même s'il m'arrive encore d'utiliser le 6
).
Si tu as des scrupules à utiliser un logiciel dont tu n'aurais pas la licence, et que tes finances sont légères, sache qu'il existe des versions gratuites des outils de développement Microsoft. Ce sont les versions Express.
Visite donc ce site : http://www.microsoft.com/express/Downloads/
M'enfin, tu ouvres ton fichier jpg pour écrire dedans ?
Qu'est-ce que tu cherches à faire ?
Si c'est juste à afficher une image, voici une bonne manière de faire. Mets un contrôle PictureBox sur ton formulaire et utilise ce code pour charger ton image :
VB5 et V6 sont complètement obsolètes (même s'il m'arrive encore d'utiliser le 6
).Si tu as des scrupules à utiliser un logiciel dont tu n'aurais pas la licence, et que tes finances sont légères, sache qu'il existe des versions gratuites des outils de développement Microsoft. Ce sont les versions Express.
Visite donc ce site : http://www.microsoft.com/express/Downloads/
(Fais comme moi, respecte le règlement, présente ton code entre les balises [ code][/code])
Open "C:\Nature\lion.jpg" For Input As #1
M'enfin, tu ouvres ton fichier jpg pour écrire dedans ?
Qu'est-ce que tu cherches à faire ?
Si c'est juste à afficher une image, voici une bonne manière de faire. Mets un contrôle PictureBox sur ton formulaire et utilise ce code pour charger ton image :
Picture1.Picture = LoadPicture("C:\Nature\lion.jpg")
Enfaite, j'essaie de me construire une base. Je dois en vérité pouvoir lire les informations qui sont contenu dans un QR Code. Pour cela, je dispose d'une image binaire, et d'un masque que je dois ouvrir donc je suppose pour le moment qu'il faut simplement ouvrir l'image et ne pas écrire dessus.
Maintenant qu'elle est ouverte il faut que je trouve des infos sur le traitement des images sachant que c'est une matrice (49*49)
En tout cas le code marche, super, c'est sympa.
Comment puis-je lui dire de ne pas ouvrir simplement l'image 'lion' mais n'importe quelles images qui sont dans le dossier ?
Maintenant qu'elle est ouverte il faut que je trouve des infos sur le traitement des images sachant que c'est une matrice (49*49)
En tout cas le code marche, super, c'est sympa.
Comment puis-je lui dire de ne pas ouvrir simplement l'image 'lion' mais n'importe quelles images qui sont dans le dossier ?
Salut LeakciM58,
J'ai un peu peur pour toi.
T'es en train de vouloir "voir" une image QR par informatique, en VB5, sans avoir la moindre notion de programmation.
T'es pas au bout de tes peines. Mais la chance sourit aux audacieux : t'es tombé sur moi, et je vais t'aider.
Par contre, tu vas pas forcément aimer ma méthode.
1er exemple :
Leak>> Comment puis-je lui dire de ne pas ouvrir simplement l'image 'lion' mais n'importe quelles images qui sont dans le dossier ?
Zeb>> Renseigne-toi sur la fonction Dir()
J'ai un peu peur pour toi.
T'es en train de vouloir "voir" une image QR par informatique, en VB5, sans avoir la moindre notion de programmation.
T'es pas au bout de tes peines. Mais la chance sourit aux audacieux : t'es tombé sur moi, et je vais t'aider.
Par contre, tu vas pas forcément aimer ma méthode.
1er exemple :
Leak>> Comment puis-je lui dire de ne pas ouvrir simplement l'image 'lion' mais n'importe quelles images qui sont dans le dossier ?
Zeb>> Renseigne-toi sur la fonction Dir()
Salut Zeb,
Je te remercie c'est vraiment sympa de ta part. Je dois t'avouer que l'on me demande à partir d'un programme VB de décrypter les informations qui sont présentes dans un QR Code. Ce n'est en réalité pas exactement ça, car le code a été simplifié pour nous aider. Je te remercie en tout cas encore une fois de plus pour m'apporter ton aide.
Je devrais être censé avoir des bases en VB mais j'en n'ai pas beaucoup, alors c'est vrai que quelques tuyaux peuvent s'avérer utiles, après à moi de comprendre les fonctions que tu m'as donné. Je m'occupe de ça dans la journée et je te renvoie un post ce soir 'la nuit porte conseil'
Je te remercie c'est vraiment sympa de ta part. Je dois t'avouer que l'on me demande à partir d'un programme VB de décrypter les informations qui sont présentes dans un QR Code. Ce n'est en réalité pas exactement ça, car le code a été simplifié pour nous aider. Je te remercie en tout cas encore une fois de plus pour m'apporter ton aide.
Je devrais être censé avoir des bases en VB mais j'en n'ai pas beaucoup, alors c'est vrai que quelques tuyaux peuvent s'avérer utiles, après à moi de comprendre les fonctions que tu m'as donné. Je m'occupe de ça dans la journée et je te renvoie un post ce soir 'la nuit porte conseil'
CADEAU !!!!!
Voici le code complet à mettre dans un fichier FRMQRCODE.FRM que tu ajouteras à ton projet. A étudier
Voici le code complet à mettre dans un fichier FRMQRCODE.FRM que tu ajouteras à ton projet. A étudier
VERSION 5.00
Begin VB.Form frmQRCode
BorderStyle = 3 'Fixed Dialog
Caption = "QR Code"
ClientHeight = 4470
ClientLeft = 45
ClientTop = 330
ClientWidth = 3840
LinkTopic = "Form1"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 4470
ScaleWidth = 3840
ShowInTaskbar = 0 'False
StartUpPosition = 3 'Windows Default
Begin VB.PictureBox picQR
Height = 3840
Left = 0
MousePointer = 2 'Cross
Picture = "Form1.frx":0000
ScaleHeight = 3780
ScaleWidth = 3780
TabIndex = 1
Top = 0
Width = 3840
End
Begin VB.PictureBox Picture2
Height = 615
Left = 0
ScaleHeight = 555
ScaleWidth = 3780
TabIndex = 0
Top = 3840
Width = 3840
Begin VB.Shape shpColor
BackStyle = 1 'Opaque
Height = 195
Left = 60
Top = 300
Width = 555
End
Begin VB.Label lblG
Alignment = 1 'Right Justify
Caption = "100%"
Height = 195
Left = 2520
TabIndex = 6
Top = 300
Width = 390
End
Begin VB.Label lblR
Alignment = 1 'Right Justify
Caption = "100%"
Height = 195
Left = 1800
TabIndex = 5
Top = 300
Width = 390
End
Begin VB.Shape shpB
BackColor = &H00FF0000&
BackStyle = 1 'Opaque
Height = 195
Left = 3000
Shape = 3 'Circle
Top = 300
Width = 195
End
Begin VB.Shape shpG
BackColor = &H0000FF00&
BackStyle = 1 'Opaque
Height = 195
Left = 2280
Shape = 3 'Circle
Top = 300
Width = 195
End
Begin VB.Shape shpR
BackColor = &H000000FF&
BackStyle = 1 'Opaque
Height = 195
Left = 1560
Shape = 3 'Circle
Top = 300
Width = 195
End
Begin VB.Label lblB
Alignment = 1 'Right Justify
Caption = "100%"
Height = 195
Left = 3240
TabIndex = 4
Top = 300
Width = 390
End
Begin VB.Label lblXY
Alignment = 2 'Center
Caption = "x"
Height = 195
Left = 60
TabIndex = 3
Top = 60
Width = 3555
End
Begin VB.Label lblCode
Caption = "#FFFFFF"
Height = 195
Left = 720
TabIndex = 2
Top = 300
Width = 765
End
End
End
Attribute VB_Name = "frmQRCode"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Private Declare Function GetPixel Lib "gdi32" (ByVal hDC As Long, ByVal X As Long, ByVal Y As Long) As Long
Private Sub Form_Load()
picQR.Picture = LoadPicture("C:\Nature\lion.jpg")
End Sub
Private Sub picQR_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim color As Long
color = GetPixel(picQR.hDC, X / 15, Y / 15)
lblXY.Caption = X / 15 & " x " & Y / 15
lblCode.Caption = "#" & Right("00000" & Hex(color), 6)
lblR.Caption = (color And &HFF0000 \ &H10000) * 100 \ 255 & "%"
lblG.Caption = (color And &HFF00& \ &H100&) * 100 \ 255 & "%"
lblB.Caption = (color And &HFF& \ &H1&) * 100 \ 255 & "%"
shpColor.BackColor = color
End Sub
Non, désolé.
J'aide volontiers, bénévolement et publiquement ceux qui se donnent la peine de partager leur problème publiquement. Ainsi, le forum vit des questions et des réponses plus ou moins pertinentes proposées.
Si je devais répondre en privé, je devrais en faire mon métier principal et demander du pognon, ce que tu ne souhaites pas, je pense.
Par ailleurs, le règlement est strict : nous nous entraidons entre développeurs, c'est tout. Mais en aucun cas le forum n'est là pour qu'on fasse ton boulot, ton stage, tes devoirs...
Que ce refus ne t'empêche pas de me solliciter. Je te répondrai toujours, avec une explication, soit pour commenter un bout de code, soit pour t'expliquer pourquoi je ne te donne pas le bout de code en question. (Oui, je sais, j'agace pas mal de monde avec mes principes à la con).
---------------------
T'as un peu regardé ce que je t'ai proposé ?
Tu t'en sors avec Dir() ?
Tu pourrais mettre ton fichier QR code en ligne ?
J'aide volontiers, bénévolement et publiquement ceux qui se donnent la peine de partager leur problème publiquement. Ainsi, le forum vit des questions et des réponses plus ou moins pertinentes proposées.
Si je devais répondre en privé, je devrais en faire mon métier principal et demander du pognon, ce que tu ne souhaites pas, je pense.
Par ailleurs, le règlement est strict : nous nous entraidons entre développeurs, c'est tout. Mais en aucun cas le forum n'est là pour qu'on fasse ton boulot, ton stage, tes devoirs...
Que ce refus ne t'empêche pas de me solliciter. Je te répondrai toujours, avec une explication, soit pour commenter un bout de code, soit pour t'expliquer pourquoi je ne te donne pas le bout de code en question. (Oui, je sais, j'agace pas mal de monde avec mes principes à la con).
---------------------
T'as un peu regardé ce que je t'ai proposé ?
Tu t'en sors avec Dir() ?
Tu pourrais mettre ton fichier QR code en ligne ?
Non il n'y a pas de soucis, je comprends tes principes. C'était simplement une question. J'ai regardé ce que tu m'as proposé je vais en remettre une couche ce soir, mais je t'avouerais que je suis à la peine notamment avec la fonction Dir()
Je ne trouve pas d'explications pertinentes sur ce sujet, qui me permettent de bien l'assimiler. Pour le mettre en ligne, il faudrait que je dispose d'un site internet...
Je ne trouve pas d'explications pertinentes sur ce sujet, qui me permettent de bien l'assimiler. Pour le mettre en ligne, il faudrait que je dispose d'un site internet...
Salut,
pas besoin d'avoir un site internet personnel pour mettre en ligne tu peux utiliser Cjoint par exemple ou d'autres.
http://cjoint.com/
pas besoin d'avoir un site internet personnel pour mettre en ligne tu peux utiliser Cjoint par exemple ou d'autres.
http://cjoint.com/
Salut Zeb,
Bon à première vue je suppose, qu'en faite tu as créer une image de QR CODE. Je ne pourrais pas traduire toutes les lignes du programme mais je le comprends comme ça avec tes 'alignements', 'startposition ou encore ScaleHeight qui doivent définir la grosseur des carrés..Je pense que ton programme consistait à faire une image QR Code, mais à le mettre en place...j'en suis incapable
Pour la fonction Dir( ) je trouve un peu de tout et n'importe quoi, et je n'arrive pas à m'y faire..
Bon à première vue je suppose, qu'en faite tu as créer une image de QR CODE. Je ne pourrais pas traduire toutes les lignes du programme mais je le comprends comme ça avec tes 'alignements', 'startposition ou encore ScaleHeight qui doivent définir la grosseur des carrés..Je pense que ton programme consistait à faire une image QR Code, mais à le mettre en place...j'en suis incapable
Pour la fonction Dir( ) je trouve un peu de tout et n'importe quoi, et je n'arrive pas à m'y faire..
Tâche de me fournir ton image de QR code.
Si tu ne peux pas mettre en ligne ton image, trouvons-en une facilement accessible sur le net par tous.
Exemple :
![]()
http://2d-code.co.uk/images/bbc-logo-in-qr-code.gif sur le site http://2d-code.co.uk/bbc-logo-in-qr-code/
Si tu ne peux pas mettre en ligne ton image, trouvons-en une facilement accessible sur le net par tous.
Exemple :

http://2d-code.co.uk/images/bbc-logo-in-qr-code.gif sur le site http://2d-code.co.uk/bbc-logo-in-qr-code/
Pour le moment, je dois faire un programme en VB, pour lire au final la phrase codée dans le QR Code. Je dois également m'aider du masque fourni...
Peut être que ça pourra t'aider à mieux apréhender le sujet.
http://cjoint.com/?0lblffqH7WK
Peut être que ça pourra t'aider à mieux apréhender le sujet.
http://cjoint.com/?0lblffqH7WK
Eh, il est explicitement interdit de balancer les énoncés des travaux, devoirs, exercices que tu aurais à faire. On est là pour t'aider, pas pour faire ton boulot !
Donc, on reprend si tu veux bien.
Comme tu as un gros problème, je propose de le découper en petits problèmes.
Problème n°1 : Transformer une image en 0 et en 1.
Avec le code proposé dans picQR_MouseMove, t'as une idée de comment faire ?
Donc, on reprend si tu veux bien.
Comme tu as un gros problème, je propose de le découper en petits problèmes.
Problème n°1 : Transformer une image en 0 et en 1.
Avec le code proposé dans picQR_MouseMove, t'as une idée de comment faire ?
Désolé Zeb je pensais bien faire. Je ne veux pas que tu fasses mon boulot c'était simplement pour toi, pour que tu puisses mieux comprendre.
J'ai réfléchi au sujet. Je pensais a:
1/ ouvrir les images qui sont présentes dans le dossier n'importe lesquelles avec la fonction Dir(
2/ décrypter l'image sous forme de matrice
3/ traduire l'image (les infos contenus dedans)
Je pense que c'est comme ca que tu voudras me faire procéder mais pour le moment je n'ai pas de connaissances sur la fonction picQR_Mousemove. Mais j'avais refais un petit exercice pour refaire Paint en utilisant Mousemove et Mousedown ...
J'ai réfléchi au sujet. Je pensais a:
1/ ouvrir les images qui sont présentes dans le dossier n'importe lesquelles avec la fonction Dir(
2/ décrypter l'image sous forme de matrice
3/ traduire l'image (les infos contenus dedans)
Je pense que c'est comme ca que tu voudras me faire procéder mais pour le moment je n'ai pas de connaissances sur la fonction picQR_Mousemove. Mais j'avais refais un petit exercice pour refaire Paint en utilisant Mousemove et Mousedown ...
Je pense que je devrais charger image avec une picture box puis après transformer la matrice en mettant l'image dans un repère orthonormé, puis le convertir en binaire pour ensuite avoir la matrice de 49x49..
On ma dit également d'utiliser la fonction inverse de RGB et la méthode point..
Ensuite lecture Dun fichier ligne par ligne et utiliser la fonction Csplit
Dit moi si je m'enflamme LOL
On ma dit également d'utiliser la fonction inverse de RGB et la méthode point..
Ensuite lecture Dun fichier ligne par ligne et utiliser la fonction Csplit
Dit moi si je m'enflamme LOL
Ah, voila qui commence à devenir intéressant.
On s'en fout de la commande Dir(). Ca permet de trouver des fichiers dans un répertoire. Pour ton projet, tu peux tout aussi bien demander le nom du fichier à l'utilisateur. C'est pas le coeur de ton problème.
Tiens d'ailleurs je te la fais la fonction "Lister tous les fichiers du répertoire" :
Sinon, utilise le composant CommonDialog.
Or donc, le code de la fonction picQR_MouseMove que je te proposais est faite pour t'aider à créer ta fonction décrypter_image_sous_forme_de_matrice.
Pour la matrice, c'est simple :
Pour le code, étudie picQR_MouseMove, le boulot est fait à 80%. (Si tu ne vois vraiment pas, insiste
)
On s'en fout de la commande Dir(). Ca permet de trouver des fichiers dans un répertoire. Pour ton projet, tu peux tout aussi bien demander le nom du fichier à l'utilisateur. C'est pas le coeur de ton problème.
Tiens d'ailleurs je te la fais la fonction "Lister tous les fichiers du répertoire" :
Maintenant, s'il faut faire quelque chose avec le nom du fichier, il faut remplacer la ligne 5 par quelque chose de plus utile.
Dim s As String
s = Dir("*.*")
Do While s <> ""
MsgBox s
s = Dir()
Loop
Sinon, utilise le composant CommonDialog.
Or donc, le code de la fonction picQR_MouseMove que je te proposais est faite pour t'aider à créer ta fonction décrypter_image_sous_forme_de_matrice.
Pour la matrice, c'est simple :
On aurait pu utiliser des booléens, mais en fait on ne gagne rien.
Dim matrice(1 To 49, 1 To 49) As Integer
Pour le code, étudie picQR_MouseMove, le boulot est fait à 80%. (Si tu ne vois vraiment pas, insiste
) Citation :
mais comment 'ouvrir l'image qui m'intéresse ' ? J'en sais foutre rien !!!
Citation :
j'ai réussi a ouvrir n'importe quel image avec le bouton commondialog .. Citation :
Maintenant il faut et c'est la première étape mettre l'image sous forme de matrice avec la méthode point Donc tu charges ton image binaire artificielle (on verra plus tard pour les images distordue en niveau de gris)
Et tu y vas point par point. Attention à ne pas confondre point informatique (pixel) et point QRCode (carré de n x n pixel de côté).
La formule magique a déjà été donnée :
Ça, c'est pour les points informatiques. Ne me demande pas pourquoi, le VB multiplie les coordonnées de ces pixels par 15
color = GetPixel(picQR.hDC, X / 15, Y / 15)
Maintenant, à toi d'adapter ces points informatiques en point QRCode. Je te propose d'utiliser f(x) = n.x + n/2 pour sauter de point QRCode en point QRCode.
Bon Zeb j'ai trouvé une solution sur internet pour la matrice mais j'ai du mal à la comprendre. En faite, pour ta méthode je ne comprends pas ou je dois insérer la ligne de code que tu m'as donné, je continue à me renseigner sur la méthode Point. Concernant la procédure que j'ai trouvé la voici :
Private Sub MatrixFromImage(Picture As PictureBox, Matrice() As Pixel)
Dim PicBits() As Byte, PicInfo As BITMAP
Dim Size As Long
Dim i, j As Integer
Dim Z As Long
GetObject Picture.Image, Len(PicInfo), PicInfo
Size = PicInfo.bmWidth * PicInfo.bmBitsPixel * PicInfo.bmHeight / 8
ReDim PicBits(Size) As Byte
ReDim Matrice(PicInfo.bmHeight, PicInfo.bmWidth) As Pixel
GetBitmapBits Picture.Image, Size, PicBits(1)
For i = 1 To PicInfo.bmHeight on fait deux boucles pour balayer nos colonnes et lignes
For j = 1 To PicInfo.bmWidth
Z = (i - 1) * PicInfo.bmWidth * 4 + (j - 1) * 4 + 1
Matrice(i, j).Blue = PicBits(Z)
Matrice(i, j).Green = PicBits(Z + 1) ici on récupère la couleur des pixels
Matrice(i, j).Red = PicBits(Z + 2)
Next j
Next i
NHeight = PicInfo.bmHeight
MWidth = PicInfo.bmWidth
End Sub
Private Sub MatrixFromImage(Picture As PictureBox, Matrice() As Pixel)
Dim PicBits() As Byte, PicInfo As BITMAP
Dim Size As Long
Dim i, j As Integer
Dim Z As Long
GetObject Picture.Image, Len(PicInfo), PicInfo
Size = PicInfo.bmWidth * PicInfo.bmBitsPixel * PicInfo.bmHeight / 8
ReDim PicBits(Size) As Byte
ReDim Matrice(PicInfo.bmHeight, PicInfo.bmWidth) As Pixel
GetBitmapBits Picture.Image, Size, PicBits(1)
For i = 1 To PicInfo.bmHeight on fait deux boucles pour balayer nos colonnes et lignes
For j = 1 To PicInfo.bmWidth
Z = (i - 1) * PicInfo.bmWidth * 4 + (j - 1) * 4 + 1
Matrice(i, j).Blue = PicBits(Z)
Matrice(i, j).Green = PicBits(Z + 1) ici on récupère la couleur des pixels
Matrice(i, j).Red = PicBits(Z + 2)
Next j
Next i
NHeight = PicInfo.bmHeight
MWidth = PicInfo.bmWidth
End Sub
Lassé par la pub ? Créez un compte
- Contenus similaires :
