zoukankan      html  css  js  c++  java
  • 缩略图实现方案

    代码
    using System;
    using System.Configuration;
    using System.Collections.Generic;
    using System.Text;
    using System.Net.Mail;
    using System.IO;
    using System.Drawing;

    namespace Utility
    {
        
    public class ImageHelper
        {
            
    public static Image GnerateImage(Stream stream, int width, int height)
            {
                Image image 
    = Image.FromStream(stream);
                
    int x, y;
                
    int nowWidth = 0;
                
    int nowHeight = 0;
                
    if (image.Height <= height && image.Width <= width)
                {
                    
    return image;
                }
                
    else
                {
                    
    if (image.Width / (double)image.Height > width / (double)height)
                    {
                        nowHeight 
    = image.Height;
                        nowWidth 
    = image.Height * width / height;
                        y 
    = 0;
                        x 
    = (image.Width - nowWidth) / 2;
                    }
                    
    else
                    {
                        nowWidth 
    = image.Width;
                        nowHeight 
    = image.Width * height / width;
                        x 
    = 0;
                        y 
    = (image.Height - height) / 2;
                    }

                    
    //新建一个bmp图片
                    Image bitmap = new Bitmap(width, height);

                    
    //新建一个画板
                    Graphics g = Graphics.FromImage(bitmap);

                    
    //设置高质量插值法
                    g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;

                    
    //设置高质量,低速度呈现平滑程度
                    g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;

                    
    //清空画布并以透明背景色填充
                    g.Clear(System.Drawing.Color.Transparent);

                    
    //在指定位置并且按指定大小绘制原图片的指定部分
                    g.DrawImage(image, new Rectangle(00, width, height),
                        
    new Rectangle(x, y, nowWidth, nowHeight),
                       GraphicsUnit.Pixel);
                    g.Dispose();
                    
    return bitmap;
                }
            }
        }
    }

    缩略图实现方案




    少侠,我看你气度不凡天赋异禀,这么帅,来了就给推荐一把吧




    我的最近更新
    最新发布文章、框架、咨询等,来看看吧
  • 相关阅读:
    repo sync中遇到:contains uncommitted changes
    <kernel>/scripts/checkpatch.pl脚本可用来检查代码书写不规范和作一些简单的代码静态检查
    各国股市开盘与收盘时间
    分页数据绑定例子模板
    提升网络销售转化率的10种方法
    网络业务员
    股票入门:如何看盘
    带样式的页码代码
    看着一年一度的高考,虽然高考已经离我远去
    ajax处理函数模板代码
  • 原文地址:https://www.cnblogs.com/humble/p/1911549.html
Copyright © 2011-2022 走看看