C# 生成缩略图

 

调用:

 private void button1_Click(object sender, EventArgs e)
        {
            string filePath = Application.StartupPath + "/242931.jpg";
            byte[] ba = File.ReadAllBytes(filePath);
            Stream s = new MemoryStream(ba, true);
            using (System.Drawing.Image originalImage = System.Drawing.Image.FromStream(s))
            {

                GetThumbnail(originalImage, 200, 100).Save("c:\\aaabb.jpg");
            }
        }

 

 

主要代码:

/// <summary> 
        /// 为图片生成缩略图   
        /// </summary> 
        /// <param name="phyPath">原图片的路径</param> 
        /// <param name="width">缩略图宽</param> 
        /// <param name="height">缩略图高</param> 
        /// <returns></returns> 
        public System.Drawing.Image GetThumbnail(System.Drawing.Image image, int width, int height)
        {
            Bitmap bmp = new Bitmap(width, height);
            //从Bitmap创建一个System.Drawing.Graphics 
            System.Drawing.Graphics gr = System.Drawing.Graphics.FromImage(bmp);
            //设置  
            gr.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
            //下面这个也设成高质量 
            gr.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
            //下面这个设成High 
            gr.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
            //把原始图像绘制成上面所设置宽高的缩小图 
            System.Drawing.Rectangle rectDestination = new System.Drawing.Rectangle(0, 0, width, height);

            gr.DrawImage(image, rectDestination, 0, 0, image.Width, image.Height, GraphicsUnit.Pixel);
            return bmp;
        }

 

posted on 2015-06-15 13:06  忙碌ing  阅读(242)  评论(0)    收藏  举报

导航