C# 图片剪切与缩小的实例

 更新时间:2013年04月08日 15:33:51   作者:  
C# 剪切图片与缩小的实例,需要的朋友可以参考一下

复制代码 代码如下:

  public void CutToF(Stream stream)
            {
                Image initImage = Image.FromStream(stream, true);
                if (initImage.Width <= 480 && initImage.Height <= 480)
                {
                    initImage.Save("D://test.jpg", ImageFormat.Jpeg);
                }
                else
                {
                    int initWidth = initImage.Width;
                    int initHeight = initImage.Height;
                    if (initWidth != initHeight)
                    {
                        Image pickedImage = null;
                        Graphics pickedG = null;
                        if (initWidth > initHeight)
                        {
                            pickedImage = new Bitmap(initHeight, initHeight);
                            pickedG = Graphics.FromImage(pickedImage);
                            pickedG.InterpolationMode = InterpolationMode.HighQualityBicubic;
                            pickedG.SmoothingMode = SmoothingMode.HighQuality;
                            Rectangle fromR = new Rectangle(0, 0, initHeight, initHeight);//(initWidth - initHeight) / 2
                            Rectangle toR = new Rectangle(0, 0, initHeight, initHeight);
                            pickedG.DrawImage(initImage, fromR);
                            pickedImage.Save("D://jpg//test2.jpg");
                            initWidth = initHeight;
                        }
                        initImage = (Image)pickedImage.Clone();
                        pickedG.Dispose();
                        pickedImage.Dispose();
                        initImage.Save("D://jpg//test1.jpg");

                    }
                    Image resultImage = new Bitmap(150, 150);
                    Graphics resultG = Graphics.FromImage(resultImage);
                    resultG.InterpolationMode = InterpolationMode.HighQualityBicubic;
                    resultG.SmoothingMode = SmoothingMode.HighQuality;
                    resultG.Clear(Color.White);
                    resultG.DrawImage(initImage, new Rectangle(0, 0, 100, 100), new Rectangle(0, 0, initWidth, initHeight), GraphicsUnit.Pixel);

                    ImageCodecInfo[] icis = ImageCodecInfo.GetImageEncoders();
                    ImageCodecInfo ici = null;
                    foreach (ImageCodecInfo item in icis)
                    {
                        if (item.MimeType == "image/jpeg" || item.MimeType == "image/bmp" || item.MimeType == "image/png" || item.MimeType =="image/gif")
                        {
                            ici = item;
                        }
                    }
                    EncoderParameters ep = new System.Drawing.Imaging.EncoderParameters(1);
                    ep.Param[0] = new System.Drawing.Imaging.EncoderParameter(System.Drawing.Imaging.Encoder.Quality, (long)100);
                    resultImage.Save("D://jpg//test.jpg", ici, ep);
                    ep.Dispose();
                    resultG.Dispose();
                    resultImage.Dispose();
                    initImage.Dispose();
                }
            }            
              

相关文章

  • C# StartsWith 字符串的实例方法解析

    C# StartsWith 字符串的实例方法解析

    这篇文章主要介绍了C# StartsWith 字符串的实例方法,StartsWith 方法对于需要检查字符串的前缀是否匹配特定模式的情况非常有用,你可以根据返回的布尔值,根据需要执行相应的逻辑操作,需要的朋友可以参考下
    2024-03-03
  • C#获取全部目录和文件的简单实例

    C#获取全部目录和文件的简单实例

    这篇文章介绍了C#获取全部目录和文件的简单实例,有需要的朋友可以参考一下
    2013-10-10
  • Unity3D实现待机状态图片循环淡入淡出

    Unity3D实现待机状态图片循环淡入淡出

    这篇文章主要为大家详细介绍了Unity3D实现待机状态图片循环淡入淡出,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • c# 值类型实例构造器

    c# 值类型实例构造器

    CLR总是允许创建值类型的实例。另外值类型不一定需要定义构造器,c#编译器不会为值类型生成默认的无参构造器
    2012-10-10
  • 通过C#代码轻松提取PDF文本

    通过C#代码轻松提取PDF文本

    提取PDF中的文本可以帮助我们对PDF文档进行内容再利用,从而制作新的PDF文档或将内容插入到其他格式的文档中,下面我们就来看看如何使用C#代码提取PDF文本吧
    2024-11-11
  • C#画图之饼图折线图的实现方法

    C#画图之饼图折线图的实现方法

    这篇文章主要介绍了C#画图之饼图折线图的实现方法,以实例形式讲述了C#画图的完整实现过程,是非常实用的技巧,有不错的借鉴价值,需要的朋友可以参考下
    2014-09-09
  • C# WPF编程之元素绑定详解

    C# WPF编程之元素绑定详解

    数据绑定是一种关系,该关系告诉WPF从源对象提取一下信息,并用这些信息设置目标对象的属性,下面我们就来了解一下WPF编程中元素绑定的相关知识吧
    2024-04-04
  • 使用xmltextreader对象读取xml文档示例

    使用xmltextreader对象读取xml文档示例

    这篇文章主要介绍了使用xmltextreader对象读取xml文档的示例,需要的朋友可以参考下
    2014-02-02
  • 一文掌握C# JSON(2023最新整理)

    一文掌握C# JSON(2023最新整理)

    JSON的全称是JavaScript Object Notation,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式,这篇文章主要介绍了C#中的JSON(2023最新整理),需要的朋友可以参考下
    2023-05-05
  • C#实现控制台飞行棋小游戏

    C#实现控制台飞行棋小游戏

    这篇文章主要为大家详细介绍了C#实现控制台飞行棋小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下的相关资料
    2021-07-07

最新评论