用户
 找回密码
 立即注册

52

主题

132

帖子

1624

积分

金牌会员

Rank: 6Rank: 6

积分
1624
发表于 2020-4-17 20:49:27
因为业务需要,必须上传原图,一般有3M以上,在temp中预览时 能不能加载一些缩略图呢,如果需要再下载或查看原图

使用道具 举报 回复
发表于 2020-4-19 09:06:16
最近做一个应用项目,有同样问题,提供共享。
思路:1、在上传原图同时上传一个略缩图;
          2、原图和略缩图同一命名,但放在不同文件夹;
          3、浏览时加载略缩图,点击某一略缩图时显示对应的原图。

代码如下:


public Bitmap ChangeImgSize(System.Drawing.Image bit, double Multiple)
        {
            Bitmap newBitmap = new Bitmap(Convert.ToInt32(bit.Width * Multiple), Convert.ToInt32(bit.Height * Multiple));
            Graphics g = Graphics.FromImage(newBitmap);
            g.Clear(Color.Transparent);
            //设置画布的描绘质量           
            g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
            g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
            g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
            g.DrawImage(bit, new Rectangle(0, 0, newBitmap.Width, newBitmap.Height), 0, 0, bit.Width, bit.Height, GraphicsUnit.Pixel);
            g.Dispose();
            return newBitmap;
        }


        string Ymd;
        string Name1;
        string Name2;  //上传的网站图片存放在此文件夹
        private void camera1_ImageCaptured(object sender, BinaryResultArgs e)
        {
            Ymd = DateTime.Now.ToString("yyyyMMddHHmmss");
            Name1 = Session["Fullname1"].ToString() + Ymd + ".jpg";
            Name2 = @"C:\CqwAPP\ImageMany\";  //上传的网站图片存放在此文件夹
            image1.ResourceData = e.Data;
            image1.ResourceMode = ResourceMode.Data;

            if (string.IsNullOrEmpty(e.error))
            {
                if (e.Length < 8000000)
                {   
                    e.SaveFile(Name1, Name2);//重新命名照片,指定上传文件夹并上传。
                    image2.ResourceID = Name2 + Name1;//显示上传图片

                    //把上传图片内容导入一个 Bitmap 类中**************************************
                    Bitmap bit = new Bitmap(Name2 + Name1);

                    //用户自由选择指定路径保存文件
                    SaveFileDialog savedialog = new SaveFileDialog();
                    savedialog.Filter = "Jpg 图片|*.jpg|Bmp 图片|*.bmp|Gif 图片|*.gif|Png 图片|*.png|Wmf  图片|*.wmf";
                   //0.1为缩小的倍数,可自定
                    ChangeImgSize(bit, 0.1).Save(@"C:\CqwAPP\ImageNarrow\" + Name1, System.Drawing.Imaging.ImageFormat.Jpeg);


                }
                else
                {
                    MessageBox.Show("图片不能超过8M");
                }
            }
        }
使用道具 举报 回复 支持 反对
发新帖
您需要登录后才可以回帖 登录 | 立即注册