• 缩略图实现方案


    代码
    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;
                }
            }
        }
    }

    缩略图实现方案




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




    我的最近更新
    最新发布文章、框架、咨询等,来看看吧
  • 相关阅读:
    Sandcastle 这个工具生成文档不错
    Windows 服务关闭自动重启
    『录』最全前端资源汇集
    利用Continuous Testing实现Eclipse环境自动单元测试
    (转载)const指针和指向const的指针(左值右指)
    为什么寄存器比内存快?
    Vim Buffer
    Linux操作系统文件系统基础知识详解(引用内容)
    详解BOM头以及去掉BOM头的方法
    对比MySQL,什么场景MongoDB更适用
  • 原文地址:https://www.cnblogs.com/humble/p/1911549.html
Copyright © 2020-2023  润新知