C#图片按比例缩放建议收藏

C#图片按比例缩放:1//按比例缩放图片2publicImageZoomPicture(ImageSourceImage,intTargetWidth,intTargetHei

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

全栈程序员社区此处内容已经被作者隐藏,请输入验证码查看内容
验证码:
请关注本站微信公众号,回复“验证码”,获取验证码。在微信里搜索“全栈程序员社区”或者“www_javaforall_cn”或者微信扫描右侧二维码都可以关注本站微信公众号。

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         }

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/120740.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • go 布隆过滤器_布隆过滤器 redis

    go 布隆过滤器_布隆过滤器 redis最近面临这样的场景:2亿+数据需要调用后端服务A,业务需要1min处理完成,那么A服务承载的tps达到惊人的300w……必须想办法降低tps。那么方案来了:1、把时间窗口拉长2、降低待处理数据量。拉长时间业务肯定是接受不了的,但是按照以往的经验,这部分数据并不全部需要处理,可能仅有一半真正需要调用A服务,所以我们可以把1亿数据给过滤掉。这里我们维护一个布隆过滤器来进行数据的过滤。—————-以上都是导语—————-1.布隆过滤器的概

    2022年10月6日
    3
  • js 字符串截取(包含中英文)

    js 字符串截取(包含中英文)有一个项目中需要兼容ie6,在使用ztree中很难修改符合ie下面的字符截取样式,于是使用js方法来截取,字符串截取推荐使用: //截取字符串包含中文处理     //(串,长度,增加…)     functionsubString(str,len,hasDot){      varnewLength=0;    

    2022年6月6日
    55
  • 在ubuntu系统下安装python

    在ubuntu系统下安装python

    2021年10月6日
    72
  • 讨喜的隔离可变性(五)同时使用多个角色

    讨喜的隔离可变性(五)同时使用多个角色

    2022年3月2日
    32
  • 最经典的大数据案例解析(附代码)

    最经典的大数据案例解析(附代码)首先我们来说说需求假设以上就是我们需要处理的数据,我们需要计算出每个月天气最热的两天。首先我们对自己提出几个问题1.怎么划分数据,怎么定义一组???2.考虑reduce的计算复杂度???3.能不能多个reduce???4.如何避免数据倾斜???5.如何自定义数据类型???—-记录特点每年每个月温度最高2天1天多条记录怎么处理?—-进一步思考年月分组温度升序…

    2022年5月2日
    124
  • Linux Socket 编程原理详解

    Linux Socket 编程原理详解不用多说,经典的TCP/IP三次握手及状态变迁图================================================================================================================函数:socket()–创建套接字,它会创建一个结构体及收发缓冲区。此时并不指定该套接字在哪个IP和PORT口上,bind()–用于将套接字绑定在特定的IP/PORT上listen()–用于为侦听端口创建两个队列(见上图

    2022年10月17日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号