C#修改图片尺寸以及不改变原有图片比例

 更新时间:2025年01月07日 15:33:02   作者:syd二宝  
文章介绍了如何使用C#中的Bitmap类来修改图片尺寸,同时保持原有的图片比例,作者分享了自己的经验,并鼓励读者参考和使用

C#修改图片尺寸不改变原有图片比例

C#使用BitMap修改图片尺寸

修改图片大小,不改变原有图片比例

修改后图片

代码

public static void image()
        {
            System.Drawing.Image img = System.Drawing.Image.FromFile("图片路径");
            Bitmap bt = new Bitmap(img);
            //获取图片位置颜色
            Color cl = bt.GetPixel(10, 10);
            int Width = img.Width;
            int Height = img.Height;
            int marginx =  Height / 2;
            float dpiX = img.HorizontalResolution;
            float dpiY = img.VerticalResolution;
            //设置新图的大小
            Bitmap bitmap= new Bitmap(Width, Width, PixelFormat.Format24bppRgb);
            //设置位图文件的水平和垂直分辨率,与Img一致
            bitmap.SetResolution(dpiX, dpiY);
            //在位图文件上填充一个新图
            Graphics graphics = Graphics.FromImage(bitmap);
            System.Drawing.Rectangle Rec = new System.Drawing.Rectangle(0, 0, Width, Width);
            //定义颜色
            SolidBrush mySolidBrush = new SolidBrush(cl);
            //将新图填充为获取原图位置的颜色
            graphics.FillRectangle(mySolidBrush, Rec);
            //向新图中填充Img
            graphics.DrawImage(img, 0, marginx, Rec, GraphicsUnit.Pixel);
            graphics.Dispose();
            GC.Collect();
            bitmap.Save("保存图片路径", System.Drawing.Imaging.ImageFormat.Jpeg);
        }

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • c#创建圆形类Circle、矩形类实现代码

    c#创建圆形类Circle、矩形类实现代码

    这篇文章主要介绍了c#创建圆形类Circle实现代码,其中包括set,get方法,需要的朋友可以参考下
    2020-11-11
  • 在多线程中调用winform窗体控件的实现方法

    在多线程中调用winform窗体控件的实现方法

    这篇文章主要介绍了在多线程中调用winform窗体控件的实现方法,需要的朋友可以参考下
    2014-08-08
  • C#中实现AES算法加密解读

    C#中实现AES算法加密解读

    这篇文章主要介绍了C#中实现AES算法加密实例,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • c#基础学习之封装

    c#基础学习之封装

    说到封装,其实是比较基础类的问题,它为程序设计提供了系统与系统,模块与模块,类与类之间交互的实现手段
    2013-09-09
  • C#利用递归算法解决汉诺塔问题

    C#利用递归算法解决汉诺塔问题

    这篇文章主要为大家介绍了C#如何利用递归算法解决经典的汉诺塔问题,文中的示例代码讲解详细,对我们学习C#有一定帮助,需要的可以参考一下
    2022-04-04
  • C#如何将DataTable导出到Excel解决方案

    C#如何将DataTable导出到Excel解决方案

    由于公司项目中需要将系统内用户操作的所有日志进行转存备份,考虑到以后可能还需要还原,所以最后决定将日志数据备份到Excel中
    2012-11-11
  • unity中实现Edge浏览器鼠标手势的功能思路详解

    unity中实现Edge浏览器鼠标手势的功能思路详解

    这篇文章主要介绍了unity中实现Edge浏览器鼠标手势的功能思路详解,实现起来其实并不复杂,涉及的技术点有pc端和移动端屏幕拖动事件,二维向量的相关运算,手势匹配算法,事件系统设计模式,需要的朋友可以参考下
    2023-12-12
  • C# WPF中RadioButton控件的用法及应用场景

    C# WPF中RadioButton控件的用法及应用场景

    在WPF应用程序中,RadioButton控件是一种常用的用户界面元素,本文主要介绍了C# WPF中RadioButton控件的用法及应用场景,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • C#实现表格数据转实体的示例代码

    C#实现表格数据转实体的示例代码

    在实际开发过程中,特别是接口对接之类的,对于这种需求是屡见不鲜,现在很多在线平台也都提供了像json转实体、sql转实体等。本文将用C#实现这一功能,需要的可以参考一下
    2022-09-09
  • C#命令模式(Command Pattern)实例教程

    C#命令模式(Command Pattern)实例教程

    这篇文章主要介绍了C#命令模式(Command Pattern),以实例的形式讲述了命令模式通过一个指令来控制多个类的多个方法,需要的朋友可以参考下
    2014-09-09

最新评论