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         }
  • 相关阅读:
    14.从m个球中取出n个球的所有组合情况
    13.输入一个数,求1! + 3!
    centos LVM详解
    git的团队协作开发
    centos-yum离线源
    检测 HTML5CSS3JAVASCRIPT 在浏览器的适应情况
    J2EE 中 The function valueOf must be used with a prefix when a default namespace is not specified 错误
    HTML
    App签名--- Android
    ToggleButton --------- 按钮实现开关效果
  • 原文地址:https://www.cnblogs.com/roucheng/p/3509606.html
Copyright © 2011-2022 走看看