zoukankan      html  css  js  c++  java
  • C#图片按比例缩放

    C#图片按比例缩放:

     1       // 按比例缩放图片
     2         public Image ZoomPicture(Image SourceImage, int TargetWidth, int TargetHeight)
     3         {
     4             int IntWidth; //新的图片宽
     5             int IntHeight; //新的图片高
     6             try
     7             {
     8                 System.Drawing.Imaging.ImageFormat format = SourceImage.RawFormat;
     9                 System.Drawing.Bitmap SaveImage = new System.Drawing.Bitmap(TargetWidth, TargetHeight);
    10                 Graphics g = Graphics.FromImage(SaveImage);
    11                 g.Clear(Color.White);
    12 
    13                 //计算缩放图片的大小 http://www.cnblogs.com/roucheng/
    14 
    15                 if (SourceImage.Width > TargetWidth && SourceImage.Height <= TargetHeight)//宽度比目的图片宽度大,长度比目的图片长度小
    16                 {
    17                     IntWidth = TargetWidth;
    18                     IntHeight = (IntWidth * SourceImage.Height) / SourceImage.Width;
    19                 }
    20                 else if (SourceImage.Width <= TargetWidth && SourceImage.Height > TargetHeight)//宽度比目的图片宽度小,长度比目的图片长度大
    21                 {
    22                     IntHeight = TargetHeight;
    23                     IntWidth = (IntHeight * SourceImage.Width) / SourceImage.Height;
    24                 }
    25                 else if (SourceImage.Width <= TargetWidth && SourceImage.Height <= TargetHeight) //长宽比目的图片长宽都小
    26                 {
    27                     IntHeight = SourceImage.Width;
    28                     IntWidth = SourceImage.Height;
    29                 }
    30                 else//长宽比目的图片的长宽都大
    31                 {
    32                     IntWidth = TargetWidth;
    33                     IntHeight = (IntWidth * SourceImage.Height) / SourceImage.Width;
    34                     if (IntHeight > TargetHeight)//重新计算
    35                     {
    36                         IntHeight = TargetHeight;
    37                         IntWidth = (IntHeight * SourceImage.Width) / SourceImage.Height;
    38                     }
    39                 }
    40 
    41                 g.DrawImage(SourceImage, (TargetWidth - IntWidth) / 2, (TargetHeight - IntHeight) / 2, IntWidth, IntHeight);
    42                 SourceImage.Dispose();
    43 
    44                 return SaveImage;
    45             }
    46             catch (Exception ex)
    47             {
    48               
    49             }
    50 
    51             return null;
    52         }
  • 相关阅读:
    Nginx降权启动
    Tomcat降权启动
    【转载】XSS学习笔记
    仪仗队(容斥,欧拉,打表)
    2012蓝桥杯
    HPU周赛题目解析
    蓝桥杯真题集2011
    cf公式专场-续
    24点游戏&&速算24点(dfs)
    Parallelogram Counting(平行四边形个数,思维转化)
  • 原文地址:https://www.cnblogs.com/roucheng/p/3509606.html
Copyright © 2011-2022 走看看