COMate: Getting images from a Webpage
Posted: Tue Jan 13, 2009 10:35 am
Hello,
this little code shows how to get images from a webpage:
Greetings ... Kiffi
this little code shows how to get images from a webpage:
Code: Select all
IncludePath #PB_Compiler_Home + "comate\"
XIncludeFile "comate.pbi"
EnableExplicit
Enumeration
#frmMain
#frmMain_WebGadget
#frmMain_ListIconGadget
#frmMain_SplitterGadget
EndEnumeration
Define WB.COMateObject
Define Image.COMateObject
Define Images.COMateEnumObject
Define ImageSource.s
Define ImageWidth.s
Define ImageHeight.s
If OpenWindow(#frmMain, 0, 0, 600, 600, "Getting images from a Webpage", #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_Invisible)
WebGadget(#frmMain_WebGadget, 0, 0, 0, 0, "http://www.purebasic.com/")
ListIconGadget(#frmMain_ListIconGadget, 0, 0, 0, 0, "src", 400, #PB_ListIcon_GridLines | #PB_ListIcon_FullRowSelect)
AddGadgetColumn(#frmMain_ListIconGadget, 1, "width", 50)
AddGadgetColumn(#frmMain_ListIconGadget, 2, "height", 50)
SplitterGadget(#frmMain_SplitterGadget, 0, 0, WindowWidth(#frmMain), WindowHeight(#frmMain), #frmMain_WebGadget, #frmMain_ListIconGadget)
; make sure that the page was completely loaded
Repeat
While WindowEvent() : Delay(1) : Wend
If GetGadgetAttribute(#frmMain_WebGadget, #PB_Web_Busy) = 0 : Break : EndIf
ForEver
; getting images
WB = COMate_WrapCOMObject(GetWindowLong_(GadgetID(#frmMain_WebGadget), #GWL_USERDATA))
If WB
Images = WB\CreateEnumeration("document\images")
If Images
Image = Images\GetNextObject()
While Image
ImageSource = Image\GetStringProperty("src")
ImageWidth = Str(Image\GetIntegerProperty("width"))
ImageHeight = Str(Image\GetIntegerProperty("height"))
If ImageSource
AddGadgetItem(#frmMain_ListIconGadget, -1, ImageSource + #LF$ + ImageWidth + #LF$ + ImageHeight)
EndIf
Image\Release()
Image = Images\GetNextObject()
Wend
Images\Release()
EndIf
WB\Release()
EndIf
HideWindow(#frmMain, #False)
Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf