产生高质量成比例缩略图

 不多说了,大家看代码,生成的缩略图有超出范围的时候,但是在限制范围长和宽为1:1时肯定在范围之内.
private   void  Get_Image( string  imgpath, string  thetype, int  limit_width, int  limit_height)  // 图片路径,图片形式,范围宽,范围长
         {
            System.Drawing.Image originalImage 
= System.Drawing.Image.FromFile(Server.MapPath("temp")+"/"+imgpath);
            
int pic_width = originalImage.Width;
            
int pic_height = originalImage.Height;
            
int towidth = 0;
            
int toheight = 0;
            
if(pic_width<=limit_width&&pic_height<=limit_height)
            
{
                towidth 
= pic_width;
                toheight 
= pic_height;
            }

            
else
            
{
                
if(pic_width>pic_height)
                
{
                    
double temp = (double)pic_width/(double)limit_width;
                    towidth 
= limit_width;
                    toheight 
= (int)(pic_height/temp);
                }

                
else
                
{
                    
double temp = (double)pic_height/(double)limit_height;
                    towidth 
= (int)(pic_width/temp);
                    toheight 
= limit_height;
                }

            }

            
try
            
{
                System.Drawing.Bitmap bmp;
                
if(thetype == "full")
                
{
                    bmp 
= new System.Drawing.Bitmap(limit_width,limit_height);
                }

                
else
                
{
                    bmp 
= new System.Drawing.Bitmap(towidth,toheight);
                }

                Graphics g 
= System.Drawing.Graphics.FromImage(bmp);
                g.InterpolationMode 
= System.Drawing.Drawing2D.InterpolationMode.High;
                g.SmoothingMode 
= System.Drawing.Drawing2D.SmoothingMode.HighQuality;
                g.Clear(Color.White);
                
if(thetype == "full")
                
{
                    
int temp = towidth - toheight;
                    
if(temp>0)
                    
{
                        g.DrawImage(originalImage,
new Rectangle(0,temp/2,towidth,toheight),0,0,pic_width,pic_height,GraphicsUnit.Pixel);
                    }

                    
else
                    
{
                        g.DrawImage(originalImage,
new Rectangle(-temp/2,0,towidth,toheight),0,0,pic_width,pic_height,GraphicsUnit.Pixel);
                    }

                }

                
else
                
{
                    g.DrawImage(originalImage,
new Rectangle(0,0,towidth,toheight),0,0,pic_width,pic_height,GraphicsUnit.Pixel);
                }

                System.IO.MemoryStream ms 
= new System.IO.MemoryStream();
                bmp.Save(ms,System.Drawing.Imaging.ImageFormat.Jpeg);
                Response.ClearContent();
                Response.ContentType 
= "image/Jpeg";
                Response.BinaryWrite(ms.ToArray());
                originalImage.Dispose();
                bmp.Dispose();
                g.Dispose();
            }

            
catch
            
{
                
            }

        }
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看rEADME.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看rEADME.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通;、 3本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看ReAdmE.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值