zoukankan      html  css  js  c++  java
  • 图片旋转(转载)


    using System;
    using System.Web;
    using System.Drawing;
    using System.Drawing.Imaging;
    using System.IO;       

             /// <summary>
            /// 图片旋转函数(经过高质量转换)
            /// </summary>
            /// <param name="Path"></param>
            /// <param name="RotateType"></param>
            public static void Rotate(string Path, RotateFlipType RotateType)
            {
                System.Drawing.Bitmap bitmap = (System.Drawing.Bitmap)System.Drawing.Image.FromFile(Path);
                bitmap.RotateFlip(RotateType);

                try
                {
                    //处理JPG质量的函数
                    System.Drawing.Imaging.ImageCodecInfo ici = GetEncoderInfo("image/jpeg");

                    System.Drawing.Imaging.Encoder myEncoder;//这个是重点类,
                    System.Drawing.Imaging.EncoderParameter myEncoderParameter;
                    System.Drawing.Imaging.EncoderParameters myEncoderParameters;
                    myEncoder = System.Drawing.Imaging.Encoder.Quality;
                    myEncoderParameters = new System.Drawing.Imaging.EncoderParameters(1);
                    // 在这里设置图片的质量等级为95L.
                    myEncoderParameter = new System.Drawing.Imaging.EncoderParameter(myEncoder, 92L);
                    myEncoderParameters.Param[0] = myEncoderParameter;//将构建出来的EncoderParameter类赋给EncoderParameters数组
                    //以jpg格式保存缩略图   
                    bitmap.Save(Path, ici, myEncoderParameters);
                }
                catch (System.Exception ex)
                {
                    throw ex;
                }
                finally
                {
                    bitmap.Dispose();
                    bitmap = null;
                }
            }

    RotateFlipType 列举型别

    成员名称

    说明

    Rotate180FlipNone

    指定不翻转的 180 度旋转。

    Rotate180FlipX

    指定 180 度旋转,后面接续水平翻转。

    Rotate180FlipXY

    指定 180 度旋转,后面接续水平和垂直翻转。

    Rotate180FlipY

    指定 180 度旋转,后面接续垂直翻转。

    Rotate270FlipNone

    指定不翻转的 270 度旋转。

    Rotate270FlipX

    指定 270 度旋转,后面接续水平翻转。

    Rotate270FlipXY

    指定 270 度旋转,后面接续水平和垂直翻转。

    Rotate270FlipY

    指定 270 度旋转,后面接续垂直翻转。

    Rotate90FlipNone

    指定不翻转的 90 度旋转。

    Rotate90FlipX

    指定 90 度旋转,后面接续水平翻转。

    Rotate90FlipXY

    指定 90 度旋转,后面接续水平和垂直翻转。

    Rotate90FlipY

    指定 90 度旋转,后面接续垂直翻转。

    RotateNoneFlipNone

    指定不旋转和不翻转。

    RotateNoneFlipX

    指定不旋转,后面接续水平翻转。

    RotateNoneFlipXY

    指定不旋转,后面接续水平和垂直翻转。

    RotateNoneFlipY

    指定不旋转,后面接续垂直翻转。

  • 相关阅读:
    Spark项目之电商用户行为分析大数据平台之(十二)Spark上下文构建及模拟数据生成
    Spark项目之电商用户行为分析大数据平台之(十一)JSON及FASTJSON
    Spark项目之电商用户行为分析大数据平台之(十)IDEA项目搭建及工具类介绍
    Spark项目之电商用户行为分析大数据平台之(九)表的设计
    Spark项目之电商用户行为分析大数据平台之(八)需求分析
    Photoshop 使用阈值调整色阶
    Netty 中 IOException: Connection reset by peer 与 java.nio.channels.ClosedChannelException: null
    Hadoop + ZK + HBase 环境搭建
    ArrayBlockingQueue, LinkedBlockingQueue, ConcurrentLinkedQueue, RingBuffer
    Redis 性能问题的记录
  • 原文地址:https://www.cnblogs.com/sandea/p/3293755.html
Copyright © 2011-2022 走看看