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         }
  • 相关阅读:
    css 选择器
    IIS6、7添加反向代理的步骤
    使用脚本监控windows服务的方法
    ueditor编辑器插件 chrome中图片上传框延时问题
    Mysql隐式类型转换原则
    ASP.NET MVC 分页问题
    .NET程序集引用COM组件MSScriptControl所遇到的问题
    Makefile学习笔记
    操作系统的主要功能
    Linux基本命令之用户系统相关命令
  • 原文地址:https://www.cnblogs.com/roucheng/p/3509606.html
Copyright © 2011-2022 走看看