• 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         }
  • 相关阅读:
    .NET core webApi 使用JWT验证签名
    sudo
    Mysql Error Code : 1436 Thread stack overrun
    Parallel World 4 – Parallel Task (1)
    SQLSTATE[HY000] [2002] Can't connect to local MySQL server
    Parallel World 3 – Parallel Task (2)
    Parallel World 5 – Concurrent Collections (1)
    Utime failed: Permission denied in Smarty/sysplugins/smarty_internal_template.php on line xxx
    Add Reference
    Javascript Tips
  • 原文地址:https://www.cnblogs.com/roucheng/p/3509606.html
Copyright © 2020-2023  润新知