Puesto que ya estás usando el compilador de recursos de VB, seguiremos con eso. Pon todas las imágenes JPEG que requieras como "CUSTOM". Aquí es donde viene el pequeño problema. Aunque con la función LoadPicture puedes cargar un JPEG, no hay una función equivalente para cargarlo desde un recurso. La solución más fácil, aunque con toda certeza no la óptima, es, tomar el JPEG del recurso, meterlo en un buffer, y guardarlo temporalmente al disco. Leerlo con la función LoadPicture y almacenarlo en un StdPicture y destruir el archivo temporal. Te dejo este ejemplo:
Código:
Dim i As Long
Dim iFreeFile As Integer
Dim stdPic(3) As New StdPicture
Dim tmpBUffer() As Byte
iFreeFile = FreeFile()
'Hay cuatro jpg's en el archivo de recurso
For i = 0 To 3
Open "test.tmp" For Binary As #iFreeFile
tmpBUffer = LoadResData(101 + i, "CUSTOM")
Put #iFreeFile, , tmpBUffer
Close #iFreeFile
Set stdPic(i) = LoadPicture("test.tmp")
Next i
Kill "test.tmp"
Picture1.Picture = stdPic(0)
Picture2.Picture = stdPic(1)
Picture3.Picture = stdPic(2)
Picture4.Picture = stdPic(3)
Codificado o comprimido, si así lo has elegido, debes hacer el proceso contrario antes de guardarlo al archivo.
Procesar la información del JPEG una vez que está en memoria (sin el auxilio de alguna DLL), no es nada trivial. Una amplia lectura a la documentación del
Independent JPEG Group te hará notar el motivo...
El mismo ejemplo con un archivo de recurso:
StdPicture