• 电子相册的制作方法


     

    用一个页面GetThumbnail.aspx制作缩略图,用一个页面ListImage.aspx使用datalist控件的项模板中的hyperlink控件的NavigateUrl属性设置原始图的导航,ImageUrl属性设置为缩略图,ToolTip属性设置提示文字。

    缩略图页面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.Width);

                    else

                        d1=(double)(MaxLength/(double)bmpOld.Height);

     

                    //产生缩图

                    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();

                }

            }

    展示图片页面ListImage.aspx中的部分代码:

    页面部分:

    <ItemTemplate>

        <asp:HyperLink id=HyperLink1 Target="_blank" NavigateUrl='<%# DataBinder.Eval(Container, "DataItem.filename", "images/{0}") %>' Runat="server" ImageUrl='<%# DataBinder.Eval(Container, "DataItem.filename", "GetThumbnail.aspx?filename={0}") %>' ToolTip='<%# DataBinder.Eval(Container, "DataItem.filename", "文件名称:{0}")+DataBinder.Eval(Container, "DataItem.size", "\n文件尺寸:{0}") %>'>

                                </asp:HyperLink>

                                <asp:Button id="Button1" onclick="HHH" runat="server" Text="Button"></asp:Button>

                            </ItemTemplate>

    代码部分:

    private void Page_Load(object sender, System.EventArgs e)

            {

                if (!IsPostBack)

                {

                    //获取文件名称

                    string[] files=Directory.GetFiles(Server.MapPath("images"));

                    //建立数据表

                    DataTable dt=new DataTable();

                    dt.Columns.Add("filename");

                    dt.Columns.Add("size");

                    foreach (string s in files)

                    {

                        DataRow dr=dt.NewRow();

                        FileInfo f=new FileInfo(s);

                        dr["filename"]=f.Name;

                        dr["size"]=f.Length;

                        dt.Rows.Add(dr);

                    }

                    //绑定显示

                    this.DataList1.DataSource=dt;

                    this.DataList1.DataBind();

                }

            }

  • 相关阅读:
    机器学习
    arm 基本
    阿里RDS备份恢复
    hive 调用java的函数和科学记数法转换
    hive 调用java的函数和科学记数法转换
    hive处理hbase数据
    hive处理hbase数据
    Sqoop导入mysql数据到Hbase
    Sqoop导入mysql数据到Hbase
    Hbase基础操作
  • 原文地址:https://www.cnblogs.com/ahuang1118/p/172591.html
Copyright © 2020-2023  润新知