生成縮略圖

 不多說了,直接看代碼:

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

            }

        }

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