Imports System
Imports System.Web
Imports System.Drawing
Imports System.IO
Imports System.Drawing.Imaging
Public Class Thumbnail
Inherits System.Web.UI.Page
Protected WithEvents Label1 As System.Web.UI.WebControls.Label
Protected WithEvents Button1 As System.Web.UI.WebControls.Button
#Region " Web Form Designer Generated Code "
''This call is required by the Web Form Designer.
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
End Sub
Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
''CODEGEN: This method call is required by the Web Form Designer
''Do not modify it using the code editor.
InitializeComponent()
End Sub
#End Region
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Label1.Text = "<h3>在ASP.NET里轻松实现缩略图</h3>"
Button1.Text = "上载并显示缩略图"
End Sub
Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim MyFileColl As HttpFileCollection = HttpContext.Current.Request.Files
Dim MyPostedFile As HttpPostedFile = MyFileColl.Item(0)
If LCase(MyPostedFile.ContentType.ToString()).IndexOf("image") < 0 Then
Response.Write("无效的图形格式。")
Exit Sub
End If
GetThumbNail(MyPostedFile.FileName, 100, 100, MyPostedFile.ContentType.ToString(),_
False, MyPostedFile.InputStream)
End Sub
Private Function GetImageType(ByVal strContentType) As System.Drawing.Imaging.ImageFormat
Select Case (strContentType.ToString().ToLower())
Case "image/pjpeg"
GetImageType = System.Drawing.Imaging.ImageFormat.Jpeg
Case "image/gif"
GetImageType = System.Drawing.Imaging.ImageFormat.Gif
Case "image/bmp"
GetImageType = System.Drawing.Imaging.ImageFormat.Bmp
Case "image/tiff"
GetImageType = System.Drawing.Imaging.ImageFormat.Tiff
Case "image/x-icon"
GetImageType = System.Drawing.Imaging.ImageFormat.Icon
Case "image/x-png"
GetImageType = System.Drawing.Imaging.ImageFormat.Png
Case "image/x-emf"
GetImageType = System.Drawing.Imaging.ImageFormat.Emf
Case "image/x-exif"
GetImageType = System.Drawing.Imaging.ImageFormat.Exif
Case "image/x-wmf"
GetImageType = System.Drawing.Imaging.ImageFormat.Wmf
Case Else
GetImageType = System.Drawing.Imaging.ImageFormat.MemoryBmp
End Select
End Function
Private Sub GetThumbNail(ByVal strFileName, ByVal iWidth, ByVal iheight, ByVal strContentType, _
ByVal blnGetFromFile, ByVal ImgStream)
Dim oImg As Image
If blnGetFromFile Then
oImg = oImg.FromFile(strFileName)
Else
oImg = oImg.FromStream(ImgStream)
End If
oImg = oImg.GetThumbnailImage(iWidth, iheight, Nothing, (New IntPtr()).Zero)
Dim strGuid As String = (New Guid()).NewGuid().ToString().ToUpper()
Dim strFileExt As String = strFileName.Substring(strFileName.LastIndexOf("."))
''保存到本地
''oImg.Save(Server.MapPath("images") + "\" + strGuid + strFileExt, GetImageType(strContentType))
''直接输出url文件
''Response.Redirect("images/" + strGuid + strFileExt)
''以下显示在屏幕上
Response.ContentType = strContentType
Dim MemStream As New MemoryStream()
'' 注意:这里如果直接用 oImg.Save(Response.OutputStream, GetImageType(strContentType))
'' 对不同的格式可能会出错,比如Png格式。
oImg.Save(MemStream, GetImageType(strContentType))
MemStream.WriteTo(Response.OutputStream)
End Sub
End Class
Imports System.Web
Imports System.Drawing
Imports System.IO
Imports System.Drawing.Imaging
Public Class Thumbnail
Inherits System.Web.UI.Page
Protected WithEvents Label1 As System.Web.UI.WebControls.Label
Protected WithEvents Button1 As System.Web.UI.WebControls.Button
#Region " Web Form Designer Generated Code "
''This call is required by the Web Form Designer.
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
End Sub
Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
''CODEGEN: This method call is required by the Web Form Designer
''Do not modify it using the code editor.
InitializeComponent()
End Sub
#End Region
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Label1.Text = "<h3>在ASP.NET里轻松实现缩略图</h3>"
Button1.Text = "上载并显示缩略图"
End Sub
Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim MyFileColl As HttpFileCollection = HttpContext.Current.Request.Files
Dim MyPostedFile As HttpPostedFile = MyFileColl.Item(0)
If LCase(MyPostedFile.ContentType.ToString()).IndexOf("image") < 0 Then
Response.Write("无效的图形格式。")
Exit Sub
End If
GetThumbNail(MyPostedFile.FileName, 100, 100, MyPostedFile.ContentType.ToString(),_
False, MyPostedFile.InputStream)
End Sub
Private Function GetImageType(ByVal strContentType) As System.Drawing.Imaging.ImageFormat
Select Case (strContentType.ToString().ToLower())
Case "image/pjpeg"
GetImageType = System.Drawing.Imaging.ImageFormat.Jpeg
Case "image/gif"
GetImageType = System.Drawing.Imaging.ImageFormat.Gif
Case "image/bmp"
GetImageType = System.Drawing.Imaging.ImageFormat.Bmp
Case "image/tiff"
GetImageType = System.Drawing.Imaging.ImageFormat.Tiff
Case "image/x-icon"
GetImageType = System.Drawing.Imaging.ImageFormat.Icon
Case "image/x-png"
GetImageType = System.Drawing.Imaging.ImageFormat.Png
Case "image/x-emf"
GetImageType = System.Drawing.Imaging.ImageFormat.Emf
Case "image/x-exif"
GetImageType = System.Drawing.Imaging.ImageFormat.Exif
Case "image/x-wmf"
GetImageType = System.Drawing.Imaging.ImageFormat.Wmf
Case Else
GetImageType = System.Drawing.Imaging.ImageFormat.MemoryBmp
End Select
End Function
Private Sub GetThumbNail(ByVal strFileName, ByVal iWidth, ByVal iheight, ByVal strContentType, _
ByVal blnGetFromFile, ByVal ImgStream)
Dim oImg As Image
If blnGetFromFile Then
oImg = oImg.FromFile(strFileName)
Else
oImg = oImg.FromStream(ImgStream)
End If
oImg = oImg.GetThumbnailImage(iWidth, iheight, Nothing, (New IntPtr()).Zero)
Dim strGuid As String = (New Guid()).NewGuid().ToString().ToUpper()
Dim strFileExt As String = strFileName.Substring(strFileName.LastIndexOf("."))
''保存到本地
''oImg.Save(Server.MapPath("images") + "\" + strGuid + strFileExt, GetImageType(strContentType))
''直接输出url文件
''Response.Redirect("images/" + strGuid + strFileExt)
''以下显示在屏幕上
Response.ContentType = strContentType
Dim MemStream As New MemoryStream()
'' 注意:这里如果直接用 oImg.Save(Response.OutputStream, GetImageType(strContentType))
'' 对不同的格式可能会出错,比如Png格式。
oImg.Save(MemStream, GetImageType(strContentType))
MemStream.WriteTo(Response.OutputStream)
End Sub
End Class
用
http://xml.sz.luohuedu.net/xml/ShowDetail.asp?id=9D49B3EF-0F91-421B-841F-5D9A000BDA04
<body style="zoom:0.5">很管用,但还有些不太明白:
1. 滚动条也同样被缩小了。有办法保持滚动条不变吗?
2. 哪里可以找到该用法的文档?在 .NET 编辑器中 body 并没用 style 这一属性。
3. 如何在 C# 程序中对 WebBrowser 控件中的 Document 进行动态设置以达到网页缩略图效果?
可是依然不能把网页转成图片
你要是可以把这个网页打印出来就行了撒,可以在"打印预览"的时候得到图片