我用System.Drawing.Image pThumbnail = image.GetThumbnailImage(80, 100, null, new IntPtr());语句执行了生成缩略图的操作,但是图片须保存后才可以显示,有没有办法直接用pThumbnail对象将生成的图片显示,而不保存吗?
解决方案 »
- Js 调用 WebService问题...
- 网站发布时缺少文件→在线等、等、、等解决
- 问一个查询baidu排名的代码(100分)
- 怎样用 asp.net 在exchange2010 中创建信箱 ?
- 帮忙看下,文件下载时怎样设置可以不弹出下载对话框,而是直接使用对应的程序打开文件?
- 用.net能自动获得用户的时区吗?
- 怎样把 网页对话框的dataset的数据传给父页面上的gridview 阿
- 请问在asp.net 中如何打开一个excel文件,并设置其中的值!谢谢!asp.net c#
- DataList中模版列按条件绑定的问题,在线等,急!!!!!!!!!!!!!!!!!!
- 请大家推荐一款基于ASP.net 2.0的快速开发框架
- asp.net,vb.net区别是什么?
- 日历!日历!日历!如何在日历上只加载指定的日期段?
Imports System.Web
Imports System.Drawing
Imports System.IO
Imports System.Drawing.ImagingPublic Class Thumbnail
Inherits System.Web.UI.Page Protected WithEvents Label1 As System.Web.UI.WebControls.Label
Protected WithEvents Button2 As System.Web.UI.WebControls.Button
Protected WithEvents btn_Add As System.Web.UI.WebControls.Button
Protected WithEvents TextBox1 As System.Web.UI.WebControls.TextBox
Protected WithEvents Label2 As System.Web.UI.WebControls.Label
Protected WithEvents Button1 As System.Web.UI.WebControls.Button#Region " Web 窗体设计器生成的代码 " '该调用是 Web 窗体设计器所必需的。
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() End Sub '注意: 以下占位符声明是 Web 窗体设计器所必需的。
'不要删除或移动它。
Private designerPlaceholderDeclaration As System.Object Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: 此方法调用是 Web 窗体设计器所必需的
'不要使用代码编辑器修改它。
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)
''''获取客户端发送的文件的 MIME 内容类型
If LCase(MyPostedFile.ContentType).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 String) 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 As String, ByVal iWidth As Integer, ByVal iheight As Integer, ByVal strContentType As String, ByVal blnGetFromFile As Boolean, ByVal ImgStream As IO.Stream)
Dim oImg As Image
If blnGetFromFile Then
oImg = oImg.FromFile(strFileName) ''''从指定的文件创建 Image 对象
Else
oImg = oImg.FromStream(ImgStream) ''''从指定的数据流创建 Image 对象
End If
'''''GetThumbnailImage方法返回此 Image 对象的缩略图。
oImg = oImg.GetThumbnailImage(iWidth, iheight, Nothing, (New IntPtr).Zero)
'以下显示在屏幕上
Response.ContentType = strContentType
''''创建其支持存储区为内存的流MemStream
Dim MemStream As New MemoryStream
' 注意:这里如果直接用 oImg.Save(Response.OutputStream, GetImageType(strContentType))
' 对不同的格式可能会出错,比如Png格式。
'''save的方法将此图像以指定的格式保存到指定的流中。
oImg.Save(MemStream, GetImageType(strContentType))
MemStream.WriteTo(Response.OutputStream)
End Sub Private Sub btn_Add_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Add.Click
If (Nothing <> Request.Form("btn_Add")) Then
TextBox1.Text = "btn_Add"
End If
If (Nothing <> Request.Form("Button1")) Then
TextBox1.Text = "Button1"
End If End Sub
End Class
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>在ASP.NET里轻松实现缩略图</title>
<meta content="Microsoft Visual Studio.NET 7.0" name=GENERATOR>
<meta content="Visual Basic 7.0" name=CODE_LANGUAGE>
<meta content=JavaScript name=vs_defaultClientScript>
<meta content=http://schemas.microsoft.com/intellisense/ie5 name=vs_targetSchema>
</HEAD>
<body MS_POSITIONING="GridLayout"><asp:label id=Label1 runat="server"></asp:label>
<form id="Form1" method="post" encType="multipart/form-data" runat="server">
<INPUT type=file name=file width="600"><asp:Label id="Label2" style="Z-INDEX: 103; LEFT: 352px; POSITION: absolute; TOP: 44px" runat="server" Width="152px" Height="64px">Label</asp:Label><br><br>
<asp:button id=Button1 runat="server"></asp:button>
<asp:Button id="btn_Add" style="Z-INDEX: 101; LEFT: 364px; POSITION: absolute; TOP: 212px" runat="server" Text="Button" Width="88px" Height="32px"></asp:Button>
<asp:TextBox id="TextBox1" style="Z-INDEX: 102; LEFT: 344px; POSITION: absolute; TOP: 128px" runat="server" Width="144px" Height="28px"></asp:TextBox>
</form>
</body>
</HTML>