Image !

Résolu
Clad49 Messages postés 265 Date d'inscription dimanche 3 août 2003 Statut Membre Dernière intervention 29 mars 2010 - 18 sept. 2005 à 20:49
Mikaels35 Messages postés 146 Date d'inscription dimanche 23 janvier 2005 Statut Membre Dernière intervention 17 novembre 2009 - 20 sept. 2005 à 07:21
Salut !

j'aurai voulu savoir kel été le meilleur moyen de contenir des images (sachant kil y en aura pas mal) pour mon prog ?
Au départ je voulé les gardé dans une base acces mais j'ai lue que ce n'été pas le mieu !
Il y a aussi un facon des les métre dans un dossier et de les appelé mais j'auré voulu ke les images ne sois pas accesible par les utilisateur ! Donc si vous avez une autre facon je suis preneur ;)

Clad

9 réponses

Mikaels35 Messages postés 146 Date d'inscription dimanche 23 janvier 2005 Statut Membre Dernière intervention 17 novembre 2009 2
19 sept. 2005 à 08:32
Pour éviter d'avoir à créer et effacer les fichiers image tu mets tes images JPG en binaire dans un dossier "JPG" du fichier ressources par exemple et tu les récupères avec l'excellente fonction de EBArtSoft, PictureFromBits
http://www.vbfrance.com/code.aspx?id=25452

Il suffit de rajouter dans le module

Public Function GetPic(ByVal PicNum As Integer) As StdPicture
Dim Data() As Byte
Data = LoadResData(PicNum, "JPG")
Set GetPic = PictureFromBits(Data)
End Function

Dans ton programme tu appelles les images par GetPic(100) .... 101 etc

@+
3
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
18 sept. 2005 à 21:03
Salut,
Tu peux les mettres dans un fichier ressource, il y a un editeur de ressource dans vb6.
Sinon tu peux les placer dans un controle imagelist mais je ne sais pas quel est la limite de ce controle en nombre d'image et en dimension d'image !
0
Clad49 Messages postés 265 Date d'inscription dimanche 3 août 2003 Statut Membre Dernière intervention 29 mars 2010
18 sept. 2005 à 22:31
Je n'arrive pas a trouver l'editeur de ressource !

Clad
0
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
18 sept. 2005 à 22:38
Bonsoir,
Tu fais Compléments/Gestionnaire de compléments, dans la fenêtre qui apparaît, tu choisis Editeur de ressources vb 6 et tu coches Chargé/Déchargé, tu fais OK.
Ensuite tu cliques sur Outils/Editeur de ressources.


jpleroisse
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
18 sept. 2005 à 22:39
Sous VB6
Menu Compléments -> Gestionnaire de compléments
La tu va tomber sur une liste des compléments.
Recherche "Editeur de ressources VB6" (vers le bas de la liste il me semble)
Une fois trouvé tu le selectionnes et coche charger/décharger et charger au démarrage.

Ceci étant fait tu vas dans le menu Outils et la tu va trouver l'éditeur de ressources

Voila
0
Clad49 Messages postés 265 Date d'inscription dimanche 3 août 2003 Statut Membre Dernière intervention 29 mars 2010
18 sept. 2005 à 22:42
en faite c bon mais je ne peut métre que des fichier bimap et c trop lour comme format :(

Clad
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
19 sept. 2005 à 06:33
Non pas, tu peux très bien mettre des JPG, des GIF, ou encore des
PNG tant que tu les mets en ressources binaires, et que tu les
extraient avant de les charger (rien ne t'empêche de supprimer le
fichier extrait une fois utilisé après).



Voir les sources qui parlent d'extraction de ressources binaires pour vois comment faire.

_____________________________________________________________________
DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) tout en français : www.ProgOtoP.com/popapi/
0
Clad49 Messages postés 265 Date d'inscription dimanche 3 août 2003 Statut Membre Dernière intervention 29 mars 2010
19 sept. 2005 à 21:36
Private Declare Sub RtlMoveMemory Lib "kernel32" (pDest As Any, pSource As Any, ByVal dwLength As Long)
Private Declare Function GlobalLock Lib "kernel32" (ByVal hMem As Long) As Long
Private Declare Function GlobalFree Lib "kernel32" (ByVal hMem As Long) As Long
Private Declare Function GlobalAlloc Lib "kernel32" (ByVal uFlags As Long, ByVal dwBytes As Long) As Long
Private Declare Function GlobalUnlock Lib "kernel32" (ByVal hMem As Long) As Long
Private Declare Function OleLoadPicture Lib "olepro32" (pStream As Any, ByVal lSize As Long, ByVal fRunmode As Long, riid As Any, ppvObj As Any) As Long
Private Declare Function CLSIDFromString Lib "ole32" (ByVal lpsz As Any, pclsid As Any) As Long
Private Declare Function CreateStreamOnHGlobal Lib "ole32" (ByVal hGlobal As Long, ByVal fDeleteOnRelease As Long, ppstm As Any) As Long


Function PictureFromBits(Bits() As Byte) As IPicture
'//------------------------------------------------------//
Dim vStream As IUnknown
Dim vIID(15) As Byte
Dim vSize As Long
Dim vMem As Long
Dim vPtr As Long
vSize = 1 + UBound(Bits)
vMem = GlobalAlloc(2, vSize)
If (vMem = 0) Then Exit Function
vPtr = GlobalLock(vMem)
If vPtr Then
RtlMoveMemory ByVal vPtr, Bits(0), vSize
GlobalUnlock vMem
If (CreateStreamOnHGlobal(vMem, 1, vStream) = 0) Then
If (CLSIDFromString(StrPtr("{7BF80980-BF32-101A-8BBB-00AA00300CAB}"), vIID(0)) = 0) Then
OleLoadPicture ByVal ObjPtr(vStream), vSize, 0, vIID(0), PictureFromBits
End If
End If
End If
GlobalFree vMem
End Function


Public Function GetPic(ByVal PicNum As Integer) As StdPicture
Dim Data() As Byte
Data = LoadResData(PicNum, "JPG")
Set GetPic = PictureFromBits(Data)
End Function

et on l'appel avec :

image = GetPic(101)

Ca marche nikel ;)

Dernier question et t'il possible d'en ajouté ou den modifier une foi le prog compilé ?

Clad
0
Mikaels35 Messages postés 146 Date d'inscription dimanche 23 janvier 2005 Statut Membre Dernière intervention 17 novembre 2009 2
20 sept. 2005 à 07:21
Une fois le programme compilé tu ne peux rien lui ajouter ni supprimer, les données du fichier ressources étant intégrées dans l'EXE !

Mais tu peux toujours rajouter/modifier/supprimer des données dans le fichier RSC et recompiler le prog à partir du moment où tu possèdes les sources !

+
0
Rejoignez-nous