Ver Mensaje Individual
  #15 (permalink)  
Antiguo 08/06/2005, 16:41
Avatar de Beakdan
Beakdan
 
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey, Nuevo León
Mensajes: 433
Antigüedad: 23 años, 6 meses
Puntos: 7
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

Última edición por Beakdan; 08/06/2005 a las 18:23 Razón: Incluir Link