zoukankan      html  css  js  c++  java
  • 图片处理类

    /*****************************************************************
     * 创建人:sunwugang
     * 主要作用:图片处理类
     * 1、生成缩略图片或按照比例改变图片的大小和画质  
     * 2、将生成的缩略图放到指定的目录下  
     *  创建日期:2018-07-27
     *****************************************************************/
    namespace KK.TriageSys.Helper
    {
        using System;
        using System.Drawing;
        using System.Drawing.Imaging;
    
        public class ImageHelper
        {
            private static ImageHelper instance;
            public static ImageHelper Instance
            {
                get
                {
                    if (instance == null) instance = new ImageHelper();
                    return ImageHelper.instance;
                }
            }
    
            //图片宽
            private int ImageWidth;
            /// <summary>
            /// 图片高
            /// </summary>
            private int ImageHeight;
    
            /// <summary>   
            /// 根据文件路径获取图片对象   
            /// </summary>   
            /// <param name="ImageFileName">图片文件的全路径名称</param>   
            public Image GetImageByPath(string ImageFileName)
            {
                return Image.FromFile(ImageFileName);
            }
    
            public bool ThumbnailCallback()
            {
                return false;
            }
    
            /// <summary>   
            /// 生成缩略图重载方法1,返回缩略图的Image对象   
            /// </summary>   
            /// <param name="img">图片对象</param>   
            /// <param name="Width">缩略图的宽度</param>   
            /// <param name="Height">缩略图的高度</param>   
            /// <returns>缩略图的Image对象</returns>   
            public Image GetReducedImage(Image img,int Width, int Height)
            {
                try
                {
                    Image.GetThumbnailImageAbort callb = new Image.GetThumbnailImageAbort(ThumbnailCallback);
                    return img.GetThumbnailImage(Width, Height, callb, IntPtr.Zero);
                }
                catch (Exception ex)
                {
                    LogHelper.Default.SaveText("ImageHelper  GetReducedImage:" + ex.Message + ex.StackTrace);
                    return null;
                }
            }
    
            /// <summary>   
            /// 生成缩略图重载方法2,将缩略图文件保存到指定的路径   
            /// </summary>   
            /// <param name="img">图片对象</param>   
            /// <param name="Width">缩略图的宽度</param>   
            /// <param name="Height">缩略图的高度</param>   
            /// <param name="targetFilePath">缩略图保存的全文件名,(带路径),参数格式:D:Images ilename.jpg</param>   
            /// <returns>成功返回true,否则返回false</returns>   
            public bool GetReducedImage(Image img, int Width, int Height, string targetFilePath)
            {
                try
                {
                    Image ReducedImage;
                    Image.GetThumbnailImageAbort callb = new Image.GetThumbnailImageAbort(ThumbnailCallback);
                    ReducedImage = img.GetThumbnailImage(Width, Height, callb, IntPtr.Zero);
                    ReducedImage.Save(@targetFilePath, ImageFormat.Jpeg);
                    ReducedImage.Dispose();
                    return true;
                }
                catch (Exception ex)
                {
                    LogHelper.Default.SaveText("ImageHelper  GetReducedImage:" + ex.Message + ex.StackTrace);
                    return false;
                }
            }
    
            /// <summary>   
            /// 生成缩略图重载方法3,返回缩略图的Image对象   
            /// </summary>   
            /// <param name="img">图片对象</param>   
            /// <param name="Percent">缩略图的宽度百分比 如:需要百分之80,就填0.8</param>     
            /// <returns>缩略图的Image对象</returns>   
            public Image GetReducedImage(Image img, double Percent)
            {
                try
                {
                    Image ReducedImage;
                    Image.GetThumbnailImageAbort callb = new Image.GetThumbnailImageAbort(ThumbnailCallback);
                    ImageWidth = Convert.ToInt32(img.Width * Percent);
                    ImageHeight = Convert.ToInt32(img.Width * Percent);
                    ReducedImage = img.GetThumbnailImage(ImageWidth, ImageHeight, callb, IntPtr.Zero);
                    return ReducedImage;
                }
                catch (Exception ex)
                {
                    LogHelper.Default.SaveText("ImageHelper  GetReducedImage:" + ex.Message + ex.StackTrace);
                    return null;
                }
            }
    
            /// <summary>   
            /// 生成缩略图重载方法4,返回缩略图的Image对象   
            /// </summary>   
            /// <param name="img">图片对象</param>   
            /// <param name="Percent">缩略图的宽度百分比 如:需要百分之80,就填0.8</param>     
            /// <param name="targetFilePath">缩略图保存的全文件名,(带路径),参数格式:D:Images ilename.jpg</param>   
            /// <returns>成功返回true,否则返回false</returns>   
            public bool GetReducedImage(Image img, double Percent, string targetFilePath)
            {
                try
                {
                    Image ReducedImage;
                    Image.GetThumbnailImageAbort callb = new Image.GetThumbnailImageAbort(ThumbnailCallback);
                    ImageWidth = Convert.ToInt32(img.Width * Percent);
                    ImageHeight = Convert.ToInt32(img.Width * Percent);
                    ReducedImage = img.GetThumbnailImage(ImageWidth, ImageHeight, callb, IntPtr.Zero);
                    ReducedImage.Save(@targetFilePath, ImageFormat.Jpeg);
                    ReducedImage.Dispose();
                    return true;
                }
                catch (Exception ex)
                {
                    LogHelper.Default.SaveText("ImageHelper  GetReducedImage:" + ex.Message + ex.StackTrace);
                    return false;
                }
            }
    
        }
    }
    

      

  • 相关阅读:
    ubuntu 搜索文件方法(find命令)
    tomcat ip访问
    Linux下tomcat 的启动 关闭 kill
    Hibernate 之 使用
    tar 用法
    ubuntu下配置django+apache+mysql+mod_python+Python
    Windows Mobile Ping 命令实现(转)
    C#异步方法调用(四大方法详解)
    HTML基础(一):HTML简介
    windows2003系统的iis不能下载exe文件
  • 原文地址:https://www.cnblogs.com/YYkun/p/9377938.html
Copyright © 2011-2022 走看看