adandelion

诗词在线 http:/www.chinapoesy.com


诗词在线 |唐诗|宋词|元曲|诗经|离骚|乐府|现代诗歌

博客园 首页 联系 订阅 管理
private void Page_Load(object sender, System.EventArgs e)
        {
            ImgReduceCutOut(100,120,"1.jpg","2.jpg");
        }
        /// <summary>
        /// 缩小裁剪图片
        /// </summary>
        /// <param name="int_Width">要缩小裁剪图片宽度</param>
        /// <param name="int_Height">要缩小裁剪图片长度</param>
        /// <param name="input_ImgUrl">要处理图片路径</param>
        /// <param name="out_ImgUrl">处理完毕图片路径</param>
        public void ImgReduceCutOut(int int_Width,int int_Height,string input_ImgUrl,string out_ImgUrl)
        {
            // ===上传标准图大小===
            int int_Standard_Width=160;
            int int_Standard_Height=160;

            int Reduce_Width=0; // 缩小的宽度
            int Reduce_Height=0; // 缩小的高度
            int CutOut_Width=0; // 裁剪的宽度
            int CutOut_Height=0; // 裁剪的高度
            int level = 100; //缩略图的质量 1-100的范围
            
            // ===获得缩小,裁剪大小===
            if (int_Standard_Height*int_Width/int_Standard_Width>int_Height)
            {
                Reduce_Width=int_Width;
                Reduce_Height=int_Standard_Height*int_Width/int_Standard_Width;
                CutOut_Width=int_Width;
                CutOut_Height=int_Height;
            }
            else if (int_Standard_Height*int_Width/int_Standard_Width<int_Height)
            {
                Reduce_Width=int_Standard_Width*int_Height/int_Standard_Height;
                Reduce_Height=int_Height;
                CutOut_Width=int_Width;
                CutOut_Height=int_Height;
            }
            else
            {
                Reduce_Width=int_Width;
                Reduce_Height=int_Height;
                CutOut_Width=int_Width;
                CutOut_Height=int_Height;
            }

            // ===通过连接创建Image对象===
            System.Drawing.Image oldimage = System.Drawing.Image.FromFile(Server.MapPath(input_ImgUrl));

            // ===缩小图片===
            System.Drawing.Image thumbnailImage = oldimage.GetThumbnailImage(Reduce_Width, Reduce_Height,new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback), IntPtr.Zero);
            Bitmap bm=new Bitmap(thumbnailImage);

            // ===处理JPG质量的函数===
            ImageCodecInfo[] codecs=ImageCodecInfo.GetImageEncoders();
            ImageCodecInfo ici=null;
            foreach(ImageCodecInfo codec in codecs)
            {
                if(codec.MimeType=="image/jpeg")
                    ici=codec;
            }
            EncoderParameters ep=new EncoderParameters();
            ep.Param[0]=new EncoderParameter(Encoder.Quality,(long)level);
            
            bm.Save(Server.MapPath("2.jpg"),ici,ep);

            // ===裁剪图片===
            Rectangle cloneRect = new Rectangle(0, 0, CutOut_Width, CutOut_Height);
            PixelFormat format = bm.PixelFormat;
            Bitmap cloneBitmap = bm.Clone(cloneRect, format);

            // ===保存图片===
            cloneBitmap.Save(Server.MapPath(out_ImgUrl),ici,ep);
        }

        public bool ThumbnailCallback()
        {
            return false;
        }
posted on 2005-09-08 23:43  猪头  阅读(2415)  评论(2)    收藏  举报

欢迎访问诗词在线http://www.chinapoesy.com   诗词在线 |唐诗|宋词|元曲|诗经|离骚|乐府|古典诗歌|现代诗歌|古典诗词|现代诗词|诗歌可以陶冶你的情操、丰富你的生活,让你更具内涵。诗词在线打造中国最好的诗词社区!

诗词在线社区

126在线阅读网 历史书籍、文学书籍、小说。。。