惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

有赞技术团队
有赞技术团队
G
Google Developers Blog
T
Tailwind CSS Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
人人都是产品经理
人人都是产品经理
J
Java Code Geeks
P
Proofpoint News Feed
V
Visual Studio Blog
爱范儿
爱范儿
The Cloudflare Blog
博客园 - 叶小钗
V
V2EX
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
M
MIT News - Artificial intelligence
Microsoft Security Blog
Microsoft Security Blog
博客园 - 聂微东
H
Help Net Security
B
Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 【当耐特】
量子位
宝玉的分享
宝玉的分享
WordPress大学
WordPress大学
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

博客园 - .net技術

makefile c语言难点 线程同步(转) stl学习(转帖2) stl 学习(转帖) visual C++ 6.0开发工具与调试 vc动态装载动态库 详细的MySQL C API CString,string,char*的综合比较 在Linux下安装和使用MySQL 人际关系的55个绝招 一个封装的socket类 一个linux下c++程序 一个网络扫描程序 VC数字图像处理编程 ASCII 一些函数 防盗链IHttpHandler(转自垃圾猪) 回车改变焦点
按比例显示图片大小
.net技術 · 2005-11-16 · via 博客园 - .net技術

ShowImage.aspx显示页面DataList模板项html:

<ItemTemplate>
       <asp:HyperLink id=HyperLink1 Target="_blank"

NavigateUrl='<%# DataBinder.Eval(Container, "DataItem.filename", "images/{0}") %>' Runat="server">
        <asp:Image id=Image2 runat="server" ImageUrl='<%# "GetThumbnail.aspx?filename=" + Server.UrlEncode(DataBinder.Eval(Container, "DataItem.filename").ToString()) %>' AlternateText='<%# "文件名称:" + DataBinder.Eval(Container, "DataItem.filename") + "\n文件尺寸:" + DataBinder.Eval(Container, "DataItem.size") + " bytes" %>'>
        </asp:Image>
       </asp:HyperLink>
       <asp:Button id="Button1" onclick="HHH" runat="server" Text="Button"></asp:Button>
 </ItemTemplate>

图片处理页面GetThumbnail.aspx代码:
  const int MaxLength=150;  //显示图片最大长度

  private void Page_Load(object sender, System.EventArgs e)
  {
   if (Request.QueryString["filename"] != null)
   {
    //取得原图
    string filename=Request.QueryString["filename"];
    Bitmap bmpOld= new Bitmap(Server.MapPath("images/" + filename));

    //计算缩小比例
    double d1;
    if (bmpOld.Height>bmpOld.Width)
    d1=(double)(MaxLength/(double)bmpOld.Height);     
     else
     d1=(double)(MaxLength/(double)bmpOld.Width);

    //产生缩图
    Bitmap bmpThumb= new Bitmap(bmpOld,(int)(bmpOld.Width*d1),(int)(bmpOld.Height*d1));

    // 清除缓冲
    Response.Clear();
    //生成图片
    bmpThumb.Save(Response.OutputStream, ImageFormat.Jpeg);
    Response.End();
    //释放资源
    bmpThumb.Dispose();
    bmpOld.Dispose();
   }
  }