Páginas: [1] 2
|
 |
|
Autor
|
Tema: loadpicture de variable con contenido del archivo ¿como? (Leído 478 veces)
|
|
SERBice
|
si yo abro un archivo determinado, en el cual tngo X cantidad de imagenes y se en qeu posicion esta cada una (cada archivo), leo una imagen (meto el archivo en un string).
la pregunta es ¿como hago uso de loadpicture() para cargar ese string? ¿hay un equivalente a loadpicture()?
|
|
|
|
|
En línea
|
Estrenando firma (Gracias Artikhacker):  Asus M2N-SLI (nFoce 560SLI) - 4GB DDR2 OCz System Elite @800MHz - AMD Athlon 64 x2 5200+ - GeForce 8800GS 384MB Alpha Dog Edition 680Mhz - HD SATA2 WD 7200rpm 500GB - Asus DRW-2014L1T 
|
|
|
|
seba123neo
|
Hola,no entiendo cuando decis que abris un arhcivo con imagenes,¿que archivo contiene imagenes dentro?
saludos.
|
|
|
|
|
En línea
|
Todos somos ignorantes;lo que pasa es que no todos ignoramos las mismas cosas - Albert Einstein
|
|
|
|
SERBice
|
eso no importa.
ejemplo:
archivo "muchos.x", en ese archivo hay 3 archivos 1.jpg,2.jpg,3.jpg.
yo leo muchos.x y meto en un string 2.jpg.
yo necesito con loadpicture o alguna funcion equivalente poder cargar el archivo qeu tngo en la variable sin tener que escribir el archivo en disco (dado que podria escribir el archivo, leerlo y borrarlo, pro eso es una perdida de tiempo/rendimiento y no es correcto, debe haber una forma de cargarlo desde memoria, pero no la se)
|
|
|
|
|
En línea
|
Estrenando firma (Gracias Artikhacker):  Asus M2N-SLI (nFoce 560SLI) - 4GB DDR2 OCz System Elite @800MHz - AMD Athlon 64 x2 5200+ - GeForce 8800GS 384MB Alpha Dog Edition 680Mhz - HD SATA2 WD 7200rpm 500GB - Asus DRW-2014L1T 
|
|
|
Tughack
Desconectado
Mensajes: 498
|
En una string?? Eso, ademas de no ser posible seria mala programacion. Tienes 2 opciones: Lo mas facil cargar tu archvo en un Buffer() (byte array), separarlo en imagenes y crear los archivos en disco. Luego puedes usar LoadPicture. Lo mas dificil seria usar la estructura BITMAP, cargar cada buffer de cada imagen en esa estructura y despues crear un hDC y cargarlo en la picturebox. http://msdn.microsoft.com/en-us/library/ms532298(VS.85).aspxSaludos
|
|
|
|
|
En línea
|
|
|
|
|
SERBice
|
pus, lo de 3 imagenes era un ejemplo, estamos hablando de cerca de 2000 objetos (imagenes), quizas más y el "desempaquetar" y grabar en disco para luego borrarlo es una tarea que demanda demasiado tiempo.
otra inquietud: en caso de guardar cada archivo en disco (cuando sea necesario usarlo, caso contrario estarán en un String Array -Archivo(3) as string-), como se cuando ya se ha cargado para borrarlo. ¿LoadPicture no devuelve el foco hasta qe se carga o debo hacer alguna comprobacion para no borrarlo mientras LoadPicture lo est usando?
|
|
|
|
|
En línea
|
Estrenando firma (Gracias Artikhacker):  Asus M2N-SLI (nFoce 560SLI) - 4GB DDR2 OCz System Elite @800MHz - AMD Athlon 64 x2 5200+ - GeForce 8800GS 384MB Alpha Dog Edition 680Mhz - HD SATA2 WD 7200rpm 500GB - Asus DRW-2014L1T 
|
|
|
Tughack
Desconectado
Mensajes: 498
|
pus, lo de 3 imagenes era un ejemplo, estamos hablando de cerca de 2000 objetos (imagenes), quizas más y el "desempaquetar" y grabar en disco para luego borrarlo es una tarea que demanda demasiado tiempo.
otra inquietud: en caso de guardar cada archivo en disco (cuando sea necesario usarlo, caso contrario estarán en un String Array -Archivo(3) as string-), como se cuando ya se ha cargado para borrarlo. ¿LoadPicture no devuelve el foco hasta qe se carga o debo hacer alguna comprobacion para no borrarlo mientras LoadPicture lo est usando?
Mas una vez, usa byte array, string array es feo (para no entrar en detalles) xD Simplemente hace LoadPicture y en seguida DeleteFile (o Kill en vb...). Espera, kieres hacer un captcha breaker? Si es asi tengo un metodo k te se aplica mejor k cargar imagenes. Saludos
|
|
|
|
|
En línea
|
|
|
|
|
SERBice
|
array byts, vale, eso me da lo mismo, no me importa (hare lo que sea mejor llegado el caso, aqui trato de averiguar la carga de imagenes contenidas en variables).
lo que se quiere hacer es "empaquetar" en un solo archivo imagenes de un video juego para que el usuario no las modifique.
Por el motivo del rendimiento escritura/lectura en disco (dado q son muchos archvos y se cnosultan bastante seguido) y por el motivo de "seguridad" (no quro qeu el usuario vea que se estan creando los graficos en disco para usarse) es que deseo cargar desde memoria luego de "desempaquetar/desencriptar" el archivo en cuestion en la misma.
|
|
|
|
|
En línea
|
Estrenando firma (Gracias Artikhacker):  Asus M2N-SLI (nFoce 560SLI) - 4GB DDR2 OCz System Elite @800MHz - AMD Athlon 64 x2 5200+ - GeForce 8800GS 384MB Alpha Dog Edition 680Mhz - HD SATA2 WD 7200rpm 500GB - Asus DRW-2014L1T 
|
|
|
Tughack
Desconectado
Mensajes: 498
|
array byts, vale, eso me da lo mismo, no me importa (hare lo que sea mejor llegado el caso, aqui trato de averiguar la carga de imagenes contenidas en variables).
lo que se quiere hacer es "empaquetar" en un solo archivo imagenes de un video juego para que el usuario no las modifique.
Por el motivo del rendimiento escritura/lectura en disco (dado q son muchos archvos y se cnosultan bastante seguido) y por el motivo de "seguridad" (no quro qeu el usuario vea que se estan creando los graficos en disco para usarse) es que deseo cargar desde memoria luego de "desempaquetar/desencriptar" el archivo en cuestion en la misma.
En ese caso, no los estraeas al disco, usa las estruturas bitmap.
|
|
|
|
|
En línea
|
|
|
|
|
SERBice
|
aja... claro claro...
pero no se como hacerlo, por eso pregunto.
no pido que me hagan las cosas, pero un ejemplo se agradeceria mucho.
desde ya muchas gracias por tu tiempo.
|
|
|
|
|
En línea
|
Estrenando firma (Gracias Artikhacker):  Asus M2N-SLI (nFoce 560SLI) - 4GB DDR2 OCz System Elite @800MHz - AMD Athlon 64 x2 5200+ - GeForce 8800GS 384MB Alpha Dog Edition 680Mhz - HD SATA2 WD 7200rpm 500GB - Asus DRW-2014L1T 
|
|
|
Tughack
Desconectado
Mensajes: 498
|
aja... claro claro...
pero no se como hacerlo, por eso pregunto.
no pido que me hagan las cosas, pero un ejemplo se agradeceria mucho.
desde ya muchas gracias por tu tiempo.
Pues yo tampoco se como hacerlo pork nunca lo hice. Pero como dice es cuestion de usar conceptos de programacion y leer la MSDN acerca de las estruturas bitmap y apis para manejar bitmaps. Kualkier uno k sepa los conceptos y sepa leer, puede hacerlo.
|
|
|
|
|
En línea
|
|
|
|
LeandroA
Desconectado
Mensajes: 304
|
hola creo que lo que busca es esto http://www.activevb.de/tipps/vb6tipps/tipp0556.htmlTughack ahora ya que esta el tema tengo una duda hay diferencia en rendimiento de cargar un archivo a un string o un array ? por ejemplo Option Explicit
Private Sub Form_Load()
Dim StrImagen As String Dim ArrImagen() As Byte '----------------- cargar a un string Open "C:\foto.bmp" For Binary As #1 StrImagen = Space(LOF(1)) Get #1, , StrImagen Close #1 Debug.Print Len(StrImagen) '----------------- cargar a un array Open "C:\foto.bmp" For Binary As #1 ReDim ArrImagen(LOF(1)) Get #1, , ArrImagen Close #1 Debug.Print UBound(ArrImagen)
End Sub
Yo mayormente estoy usando String ya que si tengo que buscar un valor/cadena lo hago con la funcion instr() pero si tuviera que buscarlo en un array pues tuviera que recorrer todo este y encontrar bits por bits y esto es lentisimo, o hay alguna forma mas eficiente para encontrar un conjunto de bits en un array? Saludos
|
|
|
|
|
En línea
|
|
|
|
|
SERBice
|
agradezco tu respuesta, pero eso ya lo tngo, lo qeu yo busco es una funcion equivalent a LoadPicture (que carga una imagen desde un archivo), pro que lo haga desde la variable que y le indico.
por otro lado, lo q dices de recorrer byte a byte.... tngo la misma duda, segun me han dicho se hace de forma eficient y sin comerse todo el micro con Colecciones creo, si no me equivoco, pero jamas logre hacerlo.
|
|
|
|
|
En línea
|
Estrenando firma (Gracias Artikhacker):  Asus M2N-SLI (nFoce 560SLI) - 4GB DDR2 OCz System Elite @800MHz - AMD Athlon 64 x2 5200+ - GeForce 8800GS 384MB Alpha Dog Edition 680Mhz - HD SATA2 WD 7200rpm 500GB - Asus DRW-2014L1T 
|
|
|
Tughack
Desconectado
Mensajes: 498
|
Bueno depiende del uso. Yo creo k usar un Byte array es mas directo. Una string es Unicode... Voy intentar buscar algo k especifique alguna diferencia en el rendimento para darte una respuesta mas clara.
Saludos
|
|
|
|
|
En línea
|
|
|
|
|
cobein
|
|
|
|
|
« Última modificación: 16 Mayo 2008, 17:15 por cobein »
|
En línea
|
|
|
|
LeandroA
Desconectado
Mensajes: 304
|
Bueno depiende del uso. Yo creo k usar un Byte array es mas directo. Una string es Unicode... Voy intentar buscar algo k especifique alguna diferencia en el rendimento para darte una respuesta mas clara.
Saludos
recien hice unas pruevas con un archivo bien grande y si la diferencia es muy notable casi el doble de tiempo igual me queda la duda si quisiera encontrar una marca en un array como haria? con copymemory ? , ni idea Saludos
|
|
|
|
« Última modificación: 16 Mayo 2008, 17:19 por LeandroA »
|
En línea
|
|
|
|
|
Páginas: [1] 2
|
|
|
|