zoukankan      html  css  js  c++  java
  • C# 生成缩略图、转换图片大小

    转载自:http://www.wxzzz.com/1413.html

    该方法可以将现有路径中的一个图片文件转换为指定大小的图片。

    如果你是Image对象需要转换呢,可以自己更改下这个方法是很简单的,删掉部分代码即可。

    /// <summary>
            /// 生成缩略图
            /// </summary>
            /// <param name="localImagePath">图片地址</param>
            /// <param name="thumbnailImagePath">缩略图地址</param>
            /// <param name="width">图片宽度</param>
            /// <param name="height">图片高度</param>
            /// <param name="p"></param>
            public static void GetThumbnail(string localImagePath, string thumbnailImagePath, int width, int height)
            {
                System.Drawing.Image serverImage = System.Drawing.Image.FromFile(localImagePath);
                //画板大小
                int towidth = width;
                int toheight = height;
                //缩略图矩形框的像素点
                int x = 0;
                int y = 0;
                int ow = serverImage.Width;
                int oh = serverImage.Height;
     
                if (ow > oh)
                {
                    toheight = serverImage.Height * width / serverImage.Width;
                }
                else
                {
                    towidth = serverImage.Width * height / serverImage.Height;
                }
                //新建一个bmp图片
                System.Drawing.Image bm = new System.Drawing.Bitmap(width, height);
                //新建一个画板
                System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bm);
                //设置高质量插值法
                g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
                //设置高质量,低速度呈现平滑程度
                g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
                //清空画布并以透明背景色填充
                g.Clear(System.Drawing.Color.White);
                //在指定位置并且按指定大小绘制原图片的指定部分
                g.DrawImage(serverImage, new System.Drawing.Rectangle((width - towidth) / 2, (height - toheight) / 2, towidth, toheight),
                    0, 0, ow, oh,
                    System.Drawing.GraphicsUnit.Pixel);
                try
                {
                    //以jpg格式保存缩略图
                    bm.Save(thumbnailImagePath, System.Drawing.Imaging.ImageFormat.Jpeg);
                }
                catch (System.Exception e)
                {
                    throw e;
                }
                finally
                {
                    serverImage.Dispose();
                    bm.Dispose();
                    g.Dispose();
                }
            }
    View Code
  • 相关阅读:
    多一盎司定律
    工作职场中,需要养成并实践的思维模型
    中国易经大师排名,易学十大泰斗人物
    大易人生 --- 曾老
    中道管理 --- 曾老
    大数据分析的道与术
    人应该服从自己的规划
    练习不是让你一次就把事情做好,而是帮助你做的越来越好
    让理想转个弯
    在酒桌上就能搞定生意
  • 原文地址:https://www.cnblogs.com/lenga/p/6274379.html
Copyright © 2011-2022 走看看