Hola, una vez mas me dirijo a la comunidad a ver si pueden ayudarmecon una duda que tengo
me gustaria que la aplicacion que ando creando pueda ser capaz de tomar una imagen .jpg y transformarla en una imagen .bmp
si alguien me indicara como podria hacerlo lo agradeceria pero agradeceria mas algun codigo de ejemplo.
muchas gracias a todos.
si claro que se puede hacer, en el momento solo te puedo ayudar con este code pero el problema es que depemde de una dll externa "VIC32", igual aqui te dejo el codigo, y la libreria.
Declare Function jpeginfo Lib "VIC32.DLL" (ByVal Fname As String, jdat As JpegData) As Long
Declare Function allocimage Lib "VIC32.DLL" (image As imgdes, ByVal wid As Long, ByVal leng As Long, ByVal BPPixel As Long) As Long
Declare Function loadjpg Lib "VIC32.DLL" (ByVal Fname As String, desimg As imgdes) As Long
Declare Sub freeimage Lib "VIC32.DLL" (image As imgdes)
Declare Function savebmp Lib "VIC32.DLL" (ByVal Fname As String, srcimg As imgdes, ByVal compression As Long) As Long
' Image descriptor
Type imgdes
ibuff As Long
stx As Long
sty As Long
endx As Long
endy As Long
buffwidth As Long
palette As Long
colors As Long
imgtype As Long
bmh As Long
hBitmap As Long
End Type
Type JpegData
ftype As Long
width As Long
length As Long
comps As Long
precision As Long
sampfac0 As Long
sampfac1 As Long
sampfac2 As Long
sampfac3 As Long
vbitcount As Long
End Type
Public Sub Main()
Dim tmpimage As imgdes
Dim rcode As Long
Dim jdat As JpegData ' Reserve space for JPEG file info
Dim bmp_fname As String
Dim jpg_fname As String
bmp_fname = "pathmyfilebmp.bmp"
jpg_fname = "pathmyfile.jpg"
' Get info on the file we're to load
rcode = jpeginfo(jpg_fname, jdat)
If (rcode <> NO_ERROR) Then
MsgBox "Cannot find file", 0, "Error encountered!"
Exit Sub
End If
' Allocate space for an image
rcode = allocimage(tmpimage, jdat.width, jdat.length, jdat.vbitcount)
If (rcode <> NO_ERROR) Then
MsgBox "Not enough memory", 0, "Error encountered!"
Exit Sub
End If
' Load image
rcode = loadjpg(jpg_fname, tmpimage)
If (rcode <> NO_ERROR) Then
freeimage tmpimage ' Free image on error
MsgBox "Cannot load file", 0, "Error encountered!"
Exit Sub
End If
' Save image
rcode = savebmp(bmp_fname, tmpimage, 0)
freeimage tmpimage
End Sub
Descargar DLL (http://www.mediafire.com/?mtfylwdzigm)
Si no quieres usar dll, siempre puedes mirar como funcionan las cabeceras de jpg y bmp, e intentar programarla tu en algun lenguaje de programación...
Recuerdo que una vez hice en C algo que fusionaba dos jpg, no es algo muy complicado, lo único buscar el formato jpg y ver para que sirve cada byte
Saludos
muchas gracias por tan pronta ayuda amigo. me surge la siguiente duda, esa libreria la nesesitaria mi aplicacion para poder funcionar o solo la nesesitare para compilar el programa
nuevamente muchas gracias
en vb si usas librerias como estas siempre seras dependiente de ellas, como dice el post anterior es mejor a puro vb pero requiere de tiempo, igualmente si la necesitas en tu aplicacion compilada puedes agregarla como recurso luego la extraes y la registras y ya.
saludos espero te haya sido de ayuda
Cita de: pianista en 25 Julio 2009, 00:35 AM
Si no quieres usar dll, siempre puedes mirar como funcionan las cabeceras de jpg y bmp, e intentar programarla tu en algun lenguaje de programación...
Recuerdo que una vez hice en C algo que fusionaba dos jpg, no es algo muy complicado, lo único buscar el formato jpg y ver para que sirve cada byte
Saludos
muchas gracias pero apenas comienzo con el vbasic y hay muchas cosas que no entiendo aun
como eso de averiguar para que sirve cada byte pero gracias de todos modos.
Cita de: XcryptOR en 25 Julio 2009, 00:42 AM
en vb si usas librerias como estas siempre seras dependiente de ellas, como dice el post anterior es mejor a puro vb pero requiere de tiempo, igualmente si la necesitas en tu aplicacion compilada puedes agregarla como recurso luego la extraes y la registras y ya.
saludos espero te haya sido de ayuda
muchas gracias amigo al menos ya tengo material para ir probando y ver que tal funciona
gracias nuevamente a todos
doy el post por solucionado
mira esto tambien te puede servir
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?lngWId=1&txtCodeId=7270
Cita de: XcryptOR en 25 Julio 2009, 00:47 AM
mira esto tambien te puede servir
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?lngWId=1&txtCodeId=7270
muchas gracias xcryptor lo probare tambien a vere si logro solucionar lo que tengo en mente
nuevamente muchas gracias a todos
Cita de: pedraosone en 25 Julio 2009, 00:51 AM
Cita de: XcryptOR en 25 Julio 2009, 00:47 AM
mira esto tambien te puede servir
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?lngWId=1&txtCodeId=7270
muchas gracias xcryptor lo probare tambien a vere si logro solucionar lo que tengo en mente
nuevamente muchas gracias a todos
pedraosone busca un poco en internet, busque 10 segundos y encontre un modulo de Leandro que lo hace y mas codigos por ahi...BUSCA
saludos.
Cita de: seba123neo en 25 Julio 2009, 01:27 AM
Cita de: pedraosone en 25 Julio 2009, 00:51 AM
Cita de: XcryptOR en 25 Julio 2009, 00:47 AM
mira esto tambien te puede servir
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?lngWId=1&txtCodeId=7270
muchas gracias xcryptor lo probare tambien a vere si logro solucionar lo que tengo en mente
nuevamente muchas gracias a todos
pedraosone busca un poco en internet, busque 10 segundos y encontre un modulo de Leandro que lo hace y mas codigos por ahi...BUSCA
saludos.
gracias sebas si tengo algun problema con lo que me han puesto aqui lo hare descuide.
nuevamente gracias a todos.
aver... creo que aqui hay un error de interpretacion... ;D
generalmente todos buscan pasar de bmp a jpg, pero segun dice el titulo el lo que quiere es de jpg a bmp, y quizas como es nuevo no sabe lo facil que seria...
pregunto pedraosone vose queres pasar de JPG a BMP???, si es asi es tan facil como esto.
SavePicture LoadPicture("C:\Foto.JPG"), "C:\Foto.BMP"
Saludos
Cita de: LeandroA en 25 Julio 2009, 02:48 AM
aver... creo que aqui hay un error de interpretacion... ;D
generalmente todos buscan pasar de bmp a jpg, pero segun dice el titulo el lo que quiere es de jpg a bmp, y quizas como es nuevo no sabe lo facil que seria...
pregunto pedraosone vose queres pasar de JPG a BMP???, si es asi es tan facil como esto.
SavePicture LoadPicture("C:\Foto.JPG"), "C:\Foto.BMP"
Saludos
LeandroA eso es precisamente lo que andaba buscando amigo , asi de sencillo fue pero quien no sabe es como quien no ve ;D
y estuve bastante tiempo buscando en google pero todo hacia referencia a lo contrario aunque entre todas las paginas que mire solo en una haye una solucion igual pero no sabia aplicarla y con lo que me has puesto mas un poco de pensamiento he logrado solucionar el problema.
nuevamente gracias a todos.
Cita de: LeandroA en 25 Julio 2009, 02:48 AM
aver... creo que aqui hay un error de interpretacion... ;D
generalmente todos buscan pasar de bmp a jpg, pero segun dice el titulo el lo que quiere es de jpg a bmp, y quizas como es nuevo no sabe lo facil que seria...
pregunto pedraosone vose queres pasar de JPG a BMP???, si es asi es tan facil como esto.
SavePicture LoadPicture("C:\Foto.JPG"), "C:\Foto.BMP"
Saludos
pues claro, como no se me oucurrio, si casi todos buscan el metodo inverso para que peso menos al enviar la foto...ya la otroa vez preguntaron esto con el wallpaper...
saludos.
Cita de: seba123neo en 25 Julio 2009, 18:14 PM
pues claro, como no se me oucurrio, si casi todos buscan el metodo inverso para que peso menos al enviar la foto...ya la otroa vez preguntaron esto con el wallpaper...
saludos.
Bueno amigos ya tengo mi aplicacion lista para distribuirla de forma gratuita gracias a vuestra colaboracion ahora y como muestra de agradecimiento, me gustaria postearla en este foro aunque no se en que apartado iria pero de todas formas agradezco mucho vuestra ayuda.
por cierto es una aplicacion destinada a personas que apenas empiezan a manejar un pc y ni siquiera saben cambiar el fondo del escritorio, el programa en si le muetsra una vista previa de la imagen en cuestion que elijen y la cambia el mismo, se que para muchos es mas sencillo cambiarla directamente con el mousse pero como he dicho antes esta destinado a personas que empiezan y ademas le añadi unas cuantas imagenes que he ido recopilando y me parecian bonitas ademas de servirme para practicar y aprender un poco mas sobre este maravilloso mundo de la programacion.
pd:
en cuanto sepa si se puede postear el programa lo hago y os dejo aqui un enlace
nuevamente gracias a todos.
pues en esta sección , si queres postear un programa debes poner si o si el source...sino va en la de software...
saludos.
gracias sebas pero me surge dos dudas amigo:
el source lo posteo en este mismo hilo (solo el proyecto) y el programa compilado en la sección de software
nuevaente gracias a todos.
crea un tema nuevo para postear el proyecto...sino fijate como hacen todos cuando postean un programa.
si posteas el source aca, no hace falta el compilado en la de software...yo te decia por las dudas no querias postear el source, entonces la unica que te queda si queres que vean el programa es postear el .exe en la sección de software...
saludos.