知道如何直接显示,可如何读出后以指定大小的缩略图显示,如果直接读并指定大小的话,相当于把原图读出来,如果图片大的话显示时间会很慢的.

解决方案 »

  1.   

    直接设置 width 和 height 不行吗?如果你只是设置图片的 width 和 height, 下载速度是一样的.
      

  2.   

    设置 width 和 height 就可以
    我是这么做的
      

  3.   

    设置 width 和 height 就可以
      

  4.   

    数据库读出来的是二进制代码,直接写道页面上就是图片,但怎么设置它的width 和 height 
    呢????
      

  5.   

    <img src="MakeChart1.asp" width="100" height="50">MakeChart1.asp中使用Response.BinaryWrite yrImage输出图像
      

  6.   

    读出来先进行图像处理或者直接显示,指定大小就可以了,
    但是一样的破费资源
    你可以参照下面的程序进行图像处理
    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;
    using System.IO; 
    using System.Drawing.Imaging;namespace eMeng.Exam
    {
    /// <summary>
    /// Thumbnail 的摘要说明。
    /// </summary>
    public class Thumbnail : System.Web.UI.Page
    {
    protected System.Web.UI.WebControls.Label Label1;
    protected System.Web.UI.WebControls.Button Button1; private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    Label1.Text = "<h3>在ASP.NET里轻松实现缩略图</h3>"; 
    Button1.Text = "上载并显示缩略图";  } #region Web 窗体设计器生成的代码
    override protected void OnInit(EventArgs e)
    {
    //
    // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
    //
    InitializeComponent();
    base.OnInit(e);
    }

    /// <summary>
    /// 设计器支持所需的方法 - 不要使用代码编辑器修改
    /// 此方法的内容。
    /// </summary>
    private void InitializeComponent()
    {    
    this.Button1.Click += new System.EventHandler(this.Button1_Click);
    this.Load += new System.EventHandler(this.Page_Load); }
    #endregion private void Button1_Click(object sender, System.EventArgs e)
    {
    HttpFileCollection MyFileColl = HttpContext.Current.Request.Files; 
    HttpPostedFile MyPostedFile = MyFileColl[0];  if (MyPostedFile.ContentType.ToString().ToLower().IndexOf("image") < 0) 

    Response.Write("无效的图形格式。"); 
    return; 

    GetThumbNail(MyPostedFile.FileName, 100, 100, 
    MyPostedFile.ContentType.ToString(), false, MyPostedFile.InputStream); 
    }
    private System.Drawing.Imaging.ImageFormat GetImageType(object strContentType) 

    if ((strContentType.ToString().ToLower()) == "image/pjpeg") 

    return System.Drawing.Imaging.ImageFormat.Jpeg; 

    else if ((strContentType.ToString().ToLower()) == "image/gif") 

    return System.Drawing.Imaging.ImageFormat.Gif; 

    else if ((strContentType.ToString().ToLower()) == "image/bmp") 

    return System.Drawing.Imaging.ImageFormat.Bmp; 

    else if ((strContentType.ToString().ToLower()) == "image/tiff") 

    return System.Drawing.Imaging.ImageFormat.Tiff; 

    else if ((strContentType.ToString().ToLower()) == "image/x-icon") 

    return System.Drawing.Imaging.ImageFormat.Icon; 

    else if ((strContentType.ToString().ToLower()) == "image/x-png") 

    return System.Drawing.Imaging.ImageFormat.Png; 

    else if ((strContentType.ToString().ToLower()) == "image/x-emf") 

    return System.Drawing.Imaging.ImageFormat.Emf; 

    else if ((strContentType.ToString().ToLower()) == "image/x-exif") 

    return System.Drawing.Imaging.ImageFormat.Exif; 

    else if ((strContentType.ToString().ToLower()) == "image/x-wmf") 

    return System.Drawing.Imaging.ImageFormat.Wmf; 

    else 

    return System.Drawing.Imaging.ImageFormat.MemoryBmp; 

    }  private void GetThumbNail(string strFileName, int iWidth, int iheight, 
    string strContentType, bool blnGetFromFile, System.IO.Stream ImgStream) 

    System.Drawing.Image oImg;

    if (blnGetFromFile) 

    oImg = System.Drawing.Image.FromFile(strFileName); 

    else 

    oImg = System.Drawing.Image.FromStream(ImgStream); 

    oImg = oImg.GetThumbnailImage(iWidth, iheight, null, IntPtr.Zero); 
    string strGuid = System.Guid.NewGuid().ToString().ToUpper(); 
    string strFileExt = strFileName.Substring(strFileName.LastIndexOf(".")); 
    Response.ContentType = strContentType; 
    MemoryStream MemStream = new MemoryStream(); 
    oImg.Save(MemStream, GetImageType(strContentType)); 
    MemStream.WriteTo(Response.OutputStream); 
    } }
    }它是图像上传以后进行缩略处理,你可以修改一下程序