生成缩略图

 不多说了,直接看代码:

/// <summary>

        /// 缩略图

        /// </summary>

        /// <param name="imgurl">大图片路径</param>

        /// <param name="thumbnailPath">小图片路径</param>

        public static void MakeThumbnail(string imgurl, string thumbnailPath)

        {

            int width = 100;//缩略图照片宽度

            int height = 62;//缩略图照片高度

            System.Drawing.Image originalImage = System.Drawing.Image.FromFile(imgurl);

            int towidth = 0;

            int toheight = 0;

            if (originalImage.Width > width && originalImage.Height < height)

            {

                towidth = width;

                toheight = originalImage.Height;

            }

 

            if (originalImage.Width < width && originalImage.Height > height)

            {

                towidth = originalImage.Width;

                toheight = height;

            }

            if (originalImage.Width > width && originalImage.Height > height)

            {

                towidth = width;

                toheight = height;

            }

            if (originalImage.Width < width && originalImage.Height < height)

            {

                towidth = originalImage.Width;

                toheight = originalImage.Height;

            }

            int x = 0;//左上角的x座标 

            int y = 0;//左上角的y座标 

 

 

            //新建一个bmp图片 

            System.Drawing.Image bitmap = new System.Drawing.Bitmap(towidth, toheight);

 

            //新建一个画板 

            Graphics g = System.Drawing.Graphics.FromImage(bitmap);

 

            //设置高质量插值法 

            g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;

 

            //设置高质量,低速度呈现平滑程度 

            g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;

 

            //清空画布并以透明背景色填充 

            g.Clear(Color.Transparent);

 

            //在指定位置并且按指定大小绘制原图片的指定部分 

            g.DrawImage(originalImage, x, y, towidth, toheight);

 

            try

            {

                //以jpg格式保存缩略图 

                bitmap.Save(thumbnailPath, System.Drawing.Imaging.ImageFormat.Jpeg);

            }

            catch (System.Exception e)

            {

                throw e;

            }

            finally

            {

                originalImage.Dispose();

                bitmap.Dispose();

                g.Dispose();

            }

        }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章