zoukankan      html  css  js  c++  java
  • .NET 生成生成缩略图

     /// <summary>
            /// 生成缩略图
            /// </summary>
            /// <param name="FromImagePath">源图路径(绝对路径)</param>
            /// <param name="ToImagePath">缩略图路径(绝对路径)</param>
            /// <param name="MaxWidth">最大宽度</param>
            /// <param name="MaxHeight">最大高度</param>
            public static void CreatePic(string FromImagePath, string ToImagePath, double MaxWidth, double MaxHeight)
            {
                Bitmap tmp = null;
                Graphics g = null;
                //double Max_width = 110, Max_height = 110;//假设最大宽度以及最大高度
                int Width = 0;//框条和卡纸的宽度
                int Height = 0;//框条和卡纸的高度
                double wmp = 1, hmp = 1, default_pparm = 1;//默认宽的比例,默认高对应的比例,最大宽度比例,最大高度比例,默认实际比例,最大实际比例
                System.Drawing.Image imgPic = null;//画芯
                imgPic = System.Drawing.Image.FromFile(FromImagePath);
                Width = imgPic.Width;
                Height = imgPic.Height;
                wmp = MaxWidth / Width;//最大宽度比例
                hmp = MaxHeight / Height;//最大高度比例
                default_pparm = wmp < hmp ? wmp : hmp;//默认实际比例
    
    
                if (default_pparm > 1)
                {
                    default_pparm = 1;
                }
                Width = (int)(Width * default_pparm);
                Height = (int)(Height * default_pparm);
    
                tmp = new Bitmap((int)(Width), (int)(Height));//最大的容器
                g = Graphics.FromImage(tmp);
                //g.FillRectangle(new SolidBrush(Color.White), new Rectangle(0, 0, tmp.Width, tmp.Height));
                Rectangle Boxs = new Rectangle(0, 0, imgPic.Width, imgPic.Height);
                Rectangle Boxd = new Rectangle(0, 0,
                                               (int)(Width), (int)(Height));//算图的起点
                g.DrawImage(imgPic, Boxd, Boxs, GraphicsUnit.Pixel);
                tmp.Save(ToImagePath, ImageFormat.Jpeg);
            }
  • 相关阅读:
    Linux基础知识[1]【ACL权限】
    docker 入门学习篇【基本命令与操作】
    centos7.1下 Docker环境搭建
    RHEL6.5下更新python至2.7版本
    Github初学者探索
    vmware下linux虚拟机传文件解决方案之 xftp
    mysql 常用操作命令
    常用DNS记录
    常见网络协议端口号整理
    DNS原理及其解析过程 精彩剖析
  • 原文地址:https://www.cnblogs.com/Xanthus/p/9589610.html
Copyright © 2011-2022 走看看