frmScrapeImages.vb
上传用户:szledliu
上传日期:2021-01-29
资源大小:13805k
文件大小:2k
源码类别:

C#编程

开发平台:

C#

  1. Imports System.IO
  2. Public Class frmScrapeImages
  3.     Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancel.Click
  4.         Me.Close()
  5.     End Sub
  6.     Private Sub btnStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStart.Click
  7.         'Don't really care if this fails due to some fluke, 
  8.         'Want the process to continue and grab as many images as it can.
  9.         On Error Resume Next
  10.         If txtPath.Text = String.Empty Then
  11.             MessageBox.Show("Please select a folder to save the images to", _
  12.             "Select Folder", MessageBoxButtons.OK, MessageBoxIcon.Information)
  13.             Exit Sub
  14.         End If
  15.         If Not Directory.Exists(txtPath.Text) Then
  16.             MessageBox.Show("Please select a valid directory.", _
  17.             "Select Folder", MessageBoxButtons.OK, MessageBoxIcon.Information)
  18.             Exit Sub
  19.         End If
  20.         btnStart.Enabled = False
  21.         btnCancel.Enabled = False
  22.         Dim oDoc As HtmlDocument = AppManager.CurrentBrowser.Document
  23.         pBar.Visible = True
  24.         pBar.Maximum = oDoc.Images.Count
  25.         Dim oImage As Image
  26.         Dim i As Integer
  27.         For i = 0 To oDoc.Images.Count - 1
  28.             oImage = AppManager.GetWebImage(oDoc.Images(i).GetAttribute("src"))
  29.             If Not IsNothing(oImage) Then
  30.                 Dim ofile() As String = Split(oDoc.Images(i).GetAttribute("src"), "/")
  31.                 oImage.Save(txtPath.Text & "Image" & i & ".jpg", System.Drawing.Imaging.ImageFormat.Jpeg)
  32.                 lblStatus.Text = "Saving " & ofile(UBound(ofile)).ToString & "..."
  33.             End If
  34.             pBar.Value = i
  35.             Application.DoEvents()
  36.             oImage = Nothing
  37.         Next
  38.         If chkOpen.Checked = True Then
  39.             'Even though we already checked... we'll check again just to be safe.
  40.             If Directory.Exists(txtPath.Text) Then
  41.                 Process.Start(txtPath.Text)
  42.             End If
  43.         End If
  44.         Me.Close()
  45.     End Sub
  46.     Private Sub btnPath_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPath.Click
  47.         Dim fbd As New FolderBrowserDialog
  48.         fbd.ShowDialog()
  49.         txtPath.Text = fbd.SelectedPath
  50.     End Sub
  51. End Class