Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: skyweb07 en 15 Marzo 2010, 19:24 pm



Título: [Función] GetImage [VB6]
Publicado por: skyweb07 en 15 Marzo 2010, 19:24 pm
Bueno estaba intentando hacer algo pero me salio este churro... Saludos
 
Código
  1. Option Explicit
  2.  
  3. '*********************************************************************************************************************
  4. '* Función           : mGetImage                                                                                      *
  5. '* Fecha             : 15/03/2010 : 11:05                                                                             *
  6. '* Autor             : Skyweb07 * skyweb09@hotmail.es                                                                 *
  7. '* Referencias       : http://msdn.microsoft.com/en-us/library/ms678485%28VS.85%29.aspx                               *
  8. '*                   : http://gpwiki.org/index.php/VB:Tutorials:WINAPI:Copy_DirectDrawSurface_To_StdPicture           *
  9. '* Próposito         : Cargar una imagen en un picturebox o Image desde una ruta local o remota [URL]                 *
  10. '* Comentarios       : Microsoft : El flujo debe estar en (bitmap), JPEG, WMF (metafile), ICO (icon), o formato GIF.  *
  11. '* Soporte           : SO Minimo : Windows 2000 Professional                                                          *
  12. '* Modo de uso       : PictureBox.picture = GetImage("URL de la imagen", Color Transparente [Opcional])               *
  13. '**********************************************************************************************************************
  14.  
  15. 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
  16.  
  17. Private Type GUID
  18.    Data1 As Long
  19.    Data2 As Integer
  20.    Data3 As Integer
  21.    Data4(0 To 7) As Byte
  22. End Type
  23.  
  24. Public Function GetImage(hURLorPath As String, Optional TransparentColor As OLE_COLOR = vbWhite) As StdPicture
  25.  
  26.    Dim uID As GUID
  27.  
  28.    With uID ' // StdPicture GUID {7BF80980-BF32-101A-8BBB-00AA00300CAB}
  29.        .Data1 = &H7BF80980
  30.        .Data2 = &HBF32
  31.        .Data3 = &H101A
  32.        .Data4(0) = &H8B
  33.        .Data4(1) = &HBB
  34.        .Data4(3) = &HAA
  35.        .Data4(5) = &H30
  36.        .Data4(6) = &HC
  37.        .Data4(7) = &HAB
  38.    End With
  39.  
  40.    Call OleLoadPicturePath(StrPtr(hURLorPath), 0&, 0&, TransparentColor, uID, GetImage)
  41.  
  42. End Function


EDITADO : Perdón por el error que me falto un pedazo de code al postearlo :D


Título: Re: [Función] GetImage [VB6]
Publicado por: RAID-MAM en 15 Marzo 2010, 20:15 pm
ES mi idea o te falto code :xD


Título: Re: [Función] GetImage [VB6]
Publicado por: Shell Root en 15 Marzo 2010, 21:02 pm
xD si creo que le falto...
Código
  1.    End With
  2.    'Aquí puede haber más code...
  3. End Function


Título: Re: [Función] GetImage [VB6]
Publicado por: Karcrack en 16 Marzo 2010, 11:23 am
Código:
The stream must be in BMP (bitmap), JPEG, WMF (metafile), ICO (icon), or GIF format.
Me gusta :D Minimalista! :P


Título: Re: [Función] GetImage [VB6]
Publicado por: 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:

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.


Título: Re: [Función] GetImage [VB6]
Publicado por: Karcrack en 16 Marzo 2010, 14:41 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:
Código
  1. 'OLEAUT32
  2. 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
  3.  
  4. Private Type GUID
  5.    cData1  As Currency
  6.    cData2  As Currency
  7. End Type
  8.  
  9. Public Function GetImage(hURLorPath As String, Optional TransparentColor As OLE_COLOR = vbWhite) As StdPicture
  10.    Dim uID     As GUID
  11.  
  12.    With uID ' // StdPicture GUID {7BF80980-BF32-101A-8BBB-00AA00300CAB}
  13.        .cData1 = 116045007755044.6976@
  14.        .cData2 = -612146501409303.8709@
  15.    End With
  16.  
  17.    Call OleLoadPicturePath(StrPtr(hURLorPath), 0&, 0&, TransparentColor, uID, GetImage)
  18. End Function

No hay mucho que hacer en la llamada a un API, asi que no seas malo :P


Título: Re: [Función] GetImage [VB6]
Publicado por: 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:


Título: Re: [Función] GetImage [VB6]
Publicado por: Komodo en 16 Marzo 2010, 15:18 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.


Título: Re: [Función] GetImage [VB6]
Publicado por: ssccaann43 © en 16 Marzo 2010, 15:41 pm
Qué user???


Título: Re: [Función] GetImage [VB6]
Publicado por: freddyjose00 en 16 Marzo 2010, 15:49 pm
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:



Título: Re: [Función] GetImage [VB6]
Publicado por: Komodo en 16 Marzo 2010, 15:54 pm
Qué user???
skyweb


Título: Re: [Función] GetImage [VB6]
Publicado por: ssccaann43 © en 16 Marzo 2010, 15:55 pm
Bueno, sin más que decir, los demás usuarios sacaran sus propias concluciones respecto al Copy & Paste..!


Título: Re: [Función] GetImage [VB6]
Publicado por: 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...


Título: Re: [Función] GetImage [VB6]
Publicado por: Komodo en 16 Marzo 2010, 17:36 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.


Título: Re: [Función] GetImage [VB6]
Publicado por: 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.



Título: Re: [Función] GetImage [VB6]
Publicado por: skyweb07 en 17 Marzo 2010, 02:28 am
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


Título: Re: [Función] GetImage [VB6]
Publicado por: 08l00D en 17 Marzo 2010, 02:36 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.


Título: Re: [Función] GetImage [VB6]
Publicado por: 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...


Título: Re: [Función] GetImage [VB6]
Publicado por: BlackZeroX en 17 Marzo 2010, 06:35 am

Tiene mala fama en este foro eso es lo que pasa.


Título: Re: [Función] GetImage [VB6]
Publicado por: skyweb07 en 17 Marzo 2010, 11:32 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


Título: Re: [Función] GetImage [VB6]
Publicado por: Angeldj27 en 17 Marzo 2010, 14:41 pm
Sea como sea el tipo habeces trae cosas interesantes no lo creen  ;D


Título: Re: [Función] GetImage [VB6]
Publicado por: Karcrack en 17 Marzo 2010, 14:54 pm
Sea como sea el tipo habeces trae cosas interesantes no lo creen  ;D
a veces*


Título: Re: [Función] GetImage [VB6]
Publicado por: ssccaann43 © en 17 Marzo 2010, 14:54 pm
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...!


Título: Re: [Función] GetImage [VB6]
Publicado por: 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...


Título: Re: [Función] GetImage [VB6]
Publicado por: BlackZeroX en 20 Marzo 2010, 07:19 am
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...


Título: Re: [Función] GetImage [VB6]
Publicado por: 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





Título: Re: [Función] GetImage [VB6]
Publicado por: seba123neo en 20 Marzo 2010, 17:14 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.