Bueno estaba intentando hacer algo pero me salio este churro... Saludos
Option Explicit
'*********************************************************************************************************************
'* Función : mGetImage *
'* Fecha : 15/03/2010 : 11:05 *
'* Autor : Skyweb07 * skyweb09@hotmail.es *
'* Referencias : http://msdn.microsoft.com/en-us/library/ms678485%28VS.85%29.aspx *
'* : http://gpwiki.org/index.php/VB:Tutorials:WINAPI:Copy_DirectDrawSurface_To_StdPicture *
'* Próposito : Cargar una imagen en un picturebox o Image desde una ruta local o remota [URL] *
'* Comentarios : Microsoft : El flujo debe estar en (bitmap), JPEG, WMF (metafile), ICO (icon), o formato GIF. *
'* Soporte : SO Minimo : Windows 2000 Professional *
'* Modo de uso : PictureBox.picture = GetImage("URL de la imagen", Color Transparente [Opcional]) *
'**********************************************************************************************************************
Private Declare Function OleLoadPicturePath Lib "oleaut32.dll" (ByVal szURLorPath As Long, ByVal punkCaller As Long, ByVal dwReserved As Long, ByVal clrReserved As OLE_COLOR, ByRef riid As GUID, ByRef ppvRet As IPicture) As Long
Private Type GUID
Data1 As Long
Data2 As Integer
Data3 As Integer
Data4(0 To 7) As Byte
End Type
Public Function GetImage(hURLorPath As String, Optional TransparentColor As OLE_COLOR = vbWhite) As StdPicture
Dim uID As GUID
With uID ' // StdPicture GUID {7BF80980-BF32-101A-8BBB-00AA00300CAB}
.Data1 = &H7BF80980
.Data2 = &HBF32
.Data3 = &H101A
.Data4(0) = &H8B
.Data4(1) = &HBB
.Data4(3) = &HAA
.Data4(5) = &H30
.Data4(6) = &HC
.Data4(7) = &HAB
End With
Call OleLoadPicturePath(StrPtr(hURLorPath), 0&, 0&, TransparentColor, uID, GetImage)
End Function
EDITADO : Perdón por el error que me falto un pedazo de code al postearlo :D
ES mi idea o te falto code :xD
xD si creo que le falto...
End With
'Aquí puede haber más code...
End Function
The stream must be in BMP (bitmap), JPEG, WMF (metafile), ICO (icon), or GIF format.
Me gusta :D Minimalista! :P
Esto lo habras sacado de acá:http://www.runelocus.com/forums/archive/index.php/t-25306.html
Y creo que si, la gran mayoria de las variables estan iguales...
:silbar:
Citar
Twisted
21st February 2009, 01:13
Hello, I'm not sure what the rule is on double posting here so I'm sorry if there is one. Just thought id let twisted know something.
This code might interest you, allows you to loads a picture from a url to a picturebox.
Private Type TGUID
Data1 As Long
Data2 As Integer
Data3 As Integer
Data4(0 To 7) As Byte
End Type
Private Declare Function OleLoadPicturePath Lib "oleaut32.dll" (ByVal szURLorPath As Long, ByVal punkCaller As Long, ByVal dwReserved As Long, ByVal clrReserved As OLE_COLOR, ByRef riid As TGUID, ByRef ppvRet As IPicture) As Long
Public Function LoadPicture(ByVal filename As String) As Picture
Dim myTGUID As TGUID
myTGUID.Data1 = &H7BF80980
myTGUID.Data2 = &HBF32
myTGUID.Data3 = &H101A
myTGUID.Data4(0) = &H8B
myTGUID.Data4(1) = &HBB
myTGUID.Data4(2) = &H0
myTGUID.Data4(3) = &HAA
myTGUID.Data4(4) = &H0
myTGUID.Data4(5) = &H30
myTGUID.Data4(6) = &HC
myTGUID.Data4(7) = &HAB
On Error GoTo LblError
OleLoadPicturePath StrPtr(filename), 0, 0, 0, myTGUID, LoadPicture
Exit Function
LblError:
MsgBox Err.Description
Set LoadPicture = VB.LoadPicture(filename)
End Function
Also if you would like me to convert any code from vb.net version to vb6 i am more than willing to.
Nah nah its cool.
But by the looks of things that loads a picture from a image file on your computer, And i tried to do this, It only worked for as i said files already on the computer. I was looking for ones that load of the internet kinda like the code that you just gave me except it work's for links like:
Image1.Picture = VB.LoadPicture("http://garcya.us/images/car-wallpapers19.jpg")
Thats a link to a car, I didn't work with the code it gave me an error.
But once i downloaded it put it in C:/ i just change the code to.
Image1.Picture = VB.LoadPicture("C:/car-wallpapers19.jpg")
And it worked great.
So in other words do you have a code like this, but loads of an image from a URL rather then a location on your Computer?
P.S
I just found out with your code you can adjust the size, color depth, and the X and Y coord's for the picture.
Nice .DLL there lol.
Cita de: ssccaann43 en 16 Marzo 2010, 13:43 PM
Esto lo habras sacado de acá:http://www.runelocus.com/forums/archive/index.php/t-25306.html
Y creo que si, la gran mayoria de las variables estan iguales...
:silbar:
Que malo eres >:D :xD
Si solo es un API como quieres que se haga de otra forma? Que cargue el type con dos Currencys? Tal que asi:
'OLEAUT32
Private Declare Function OleLoadPicturePath Lib "OLEAUT32" (ByVal szURLorPath As Long, ByVal punkCaller As Long, ByVal dwReserved As Long, ByVal clrReserved As OLE_COLOR, ByRef riid As GUID, ByRef ppvRet As IPicture) As Long
Private Type GUID
cData1 As Currency
cData2 As Currency
End Type
Public Function GetImage(hURLorPath As String, Optional TransparentColor As OLE_COLOR = vbWhite) As StdPicture
Dim uID As GUID
With uID ' // StdPicture GUID {7BF80980-BF32-101A-8BBB-00AA00300CAB}
.cData1 = 116045007755044.6976@
.cData2 = -612146501409303.8709@
End With
Call OleLoadPicturePath(StrPtr(hURLorPath), 0&, 0&, TransparentColor, uID, GetImage)
End Function
No hay mucho que hacer en la llamada a un API, asi que no seas malo :P
Pero quizas pudo colocar la referencia, y no decir que el source es de el...
Pero igual, Excelente Copy & Paste...! :silbar:
Cita de: ssccaann43 en 16 Marzo 2010, 14:52 PM
Pero quizas pudo colocar la referencia, y no decir que el source es de el...
Pero igual, Excelente Copy & Paste...! :silbar:
Ya vino este user a mi ex-foro, con unos copys &pastes..
No me meteré en bullas, y menos sin que sepais quien soy de verdad.
Qué user???
Bueno Miguel tienen razón el debio decir de donde viene el codigo y así se fuera visto mejor.. De todas maneras buen aporte para los que no sabemos de otras páginas como: http://www.runelocus.com/forums/archive/index.php/t-25306.html ... :silbar:
Bueno, sin más que decir, los demás usuarios sacaran sus propias concluciones respecto al Copy & Paste..!
Como ya he dicho NO creo que sea un C&P... Solo es un API, no hay mas formas de llamar a un API...
Entonces esto (http://foro.elhacker.net/programacion_vb/msrcsemaforos_alternativa_a_createmutex-t287767.0.html) tambien seria un C&P? Porque solo uso un API...
Cita de: Karcrack en 16 Marzo 2010, 16:03 PM
Como ya he dicho NO creo que sea un C&P... Solo es un API, no hay mas formas de llamar a un API...
Entonces esto (http://foro.elhacker.net/programacion_vb/msrcsemaforos_alternativa_a_createmutex-t287767.0.html) tambien seria un C&P? Porque solo uso un API...
Quizás esto no lo sea.
Fin del tema, al menos por mi parte.
aca hay una confusion, no importa si es solo una api y se llama de esa manera siempre, el dio a entender como que estaba programando y le "salio" de su cabeza el codigo ese, pero no, es un Copy & Paste terrible, solo hace falta buscar en la web, siempre sale el mismo ejemplo...todo hubiera sido diferente si no hubiera dicho que lo hizo el...porque se sabe que no lo hizo. es mas busquen en el api guide ..esta el mismo ejemplo tambien.. ;-)..si hubiera dicho por ejemplo:
"Hola, aporto una forma para cargar una imagen local o remota con una sola api, fuente: api -guide..."
eso hubiera sido diferente y no estuvieramos discutiendo esto.
saludos.
Vale esta vez no voy a caer en su juego debido a que les estaria dando la razón, no se yo pero encima del código estan las 2 referencias que utilize, el MSDN para saber que parametros utilizaba y el de abajo para tomar la estructura del formato de la GUID del Picture. No se ese ejemplo que pusieron puede haber sido algun otro cualquiera, quizas el tio ese tuvo la misma idea o al reves, pero no se me ocurre otra forma válida de hacer ese código asi que ustedes mismos ;)... Saludos
Cita de: seba123neo en 17 Marzo 2010, 01:42 AM
aca hay una confusion, no importa si es solo una api y se llama de esa manera siempre, el dio a entender como que estaba programando y le "salio" de su cabeza el codigo ese, pero no, es un Copy & Paste terrible, solo hace falta buscar en la web, siempre sale el mismo ejemplo...todo hubiera sido diferente si no hubiera dicho que lo hizo el...porque se sabe que no lo hizo. es mas busquen en el api guide ..esta el mismo ejemplo tambien.. ;-)..si hubiera dicho por ejemplo:
"Hola, aporto una forma para cargar una imagen local o remota con una sola api, fuente: api -guide..."
eso hubiera sido diferente y no estuvieramos discutiendo esto.
saludos.
Y vos como sabes si los que hicieron la Api-Guide no se copiaron de el ?
Tal vez el tenia ese codigo en el disco duro desde hace 10 años y los de la Api-Guide lo troyanizaron y robaron el codigo. :silbar:
skyweb07 con la unica que tenes que saldar cuentas es con tu conciencia, asi que vos sabras.
SkyWeb, ya tienes la solucion para la proxima: No compartas ningun codigo aqui. La gente no aprecia tu trabajo, sea grande o pequeño...
Tiene mala fama en este foro eso es lo que pasa.
Cita de: Karcrack en 17 Marzo 2010, 02:46 AM
SkyWeb, ya tienes la solucion para la proxima: No compartas ningun codigo aqui. La gente no aprecia tu trabajo, sea grande o pequeño...
Exacto :-\ Saludos
Sea como sea el tipo habeces trae cosas interesantes no lo creen ;D
Cita de: Angeldj27 en 17 Marzo 2010, 14:41 PM
Sea como sea el tipo habeces trae cosas interesantes no lo creen ;D
a veces*
Cita de: Karcrack en 17 Marzo 2010, 02:46 AM
SkyWeb, ya tienes la solucion para la proxima: No compartas ningun codigo aqui. La gente no aprecia tu trabajo, sea grande o pequeño...
Aquí los aportes son necesarios y lo sabes Karcrack, puesto que muchos usuarios aprenden de los demás... Ahora bien, ya existe una reseña respecto al Copy & Paste, y no solo lo digo yo...! Si tienes un codigo que mejoras, si tienes un codigo que modificas, si tienes un codigo que sabes que está hecho por otro autor, así lo hayas terminado pues coloca que no es tuyo y respeta los derechos de Autor... Lee lo comentado en su aporte, Dice desarrollado por el...! Cosa que no es cierto...!
Saben algo no es que me ponga de parte del pero cuando eres un Rookie crees que cualquier cosas que haces o copy/Paste con un par de modificaciones y sales donde tus panas y dices que tu los hiciste para imprecionar al parecer esta Etapa no la ha quemado el muchacho hay que comprender todos pasamos por esta no lo creen...
Cita de: Angeldj27 en 17 Marzo 2010, 15:26 PM
Saben algo no es que me ponga de parte del pero cuando eres un Rookie crees que cualquier cosas que haces o copy/Paste con un par de modificaciones y sales donde tus panas y dices que tu los hiciste para imprecionar al parecer esta Etapa no la ha quemado el muchacho hay que comprender todos pasamos por esta no lo creen...
No, eso es alentar a otros...
sea como sea skyweb07 es mucho mejor programador que otros que lo critican.
Como decía karcrak si van a acusarlo de copy and paste por usar una api estamos todos fritos.
Lo cómico es que cuando alguien hace un aporte son dos o tres los que se toman la molestia para agradecer o aportar una critica constructiva. pero a la hora de criticar hacemos un post bien completito donde todos tiran a matar.
Bue cha
Cita de: LeandroA en 20 Marzo 2010, 16:48 PM
sea como sea skyweb07 es mucho mejor programador que otros que lo critican.
Como decía karcrak si van a acusarlo de copy and paste por usar una api estamos todos fritos.
Lo cómico es que cuando alguien hace un aporte son dos o tres los que se toman la molestia para agradecer o aportar una critica constructiva. pero a la hora de criticar hacemos un post bien completito donde todos tiran a matar.
Bue cha
Leandro, SI tenes razon, todos alguna vez copiamos de internet codigo a lo loco, YO incluido lo super reconozco, sino seria un mentiroso, pero NUNCA (yo por lo menos), voy a postear un codigo que esta hasta en las web chinas desde hace 10 años, y diciendo que me "salio"...porque me daria verguenza hacerlo sabiendo que esta en todos lados y para colmo es la unica forma de hacerlo con esta api, porque da a entender que lo hizo el de 0 y trae a la confusión de algunos.para mi como dije antes, todo esto fue que se expreso mal al decir "me salio esto" nada mas, todo hubiera sido diferente si hubiera dicho que estaba queriendo descargar una imagen, busco en internet y se encontro ese codigo y lo queria aportar aca en el foro.no tengo nada contra skyweb07.
saludos.