缩略图实现方案
代码
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(0, 0, width, height),
new Rectangle(x, y, nowWidth, nowHeight),
GraphicsUnit.Pixel);
g.Dispose();
return bitmap;
}
}
}
}
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(0, 0, width, height),
new Rectangle(x, y, nowWidth, nowHeight),
GraphicsUnit.Pixel);
g.Dispose();
return bitmap;
}
}
}
}
缩略图实现方案
少侠,我看你气度不凡天赋异禀,骨骼精奇,这么帅,来了就帮推荐一把吧
我的最近更新