做站的时候经常会遇到要生成缩略图的功能,因为可能不同的情况需要用来不同大小的缩略图。
本文生成的图片都为正方形,只有正方形的缩略图才是保证图片足够清晰。
当我我这里说的正方形是先按比例压缩,然后加一个固定的白底 然后居中显示。
代码:
新建outputimg.ashx
代码如下:
//调整图片大小
private static Size NewSize(int maxWidth, int maxHeight, int Width, int Height)
{
double w = 0.0;
double h = 0.0;
double sw = Convert.ToDouble(Width);
double sh = Convert.ToDouble(Height);
double mw = Convert.ToDouble(maxWidth);
double mh = Convert.ToDouble(maxHeight);
if (sw < mw && sh < mh)//如果maxWidth和maxHeight大于源图像,则缩略图的长和高不变
{
w = sw;
h = sh;
}
else if ((sw / sh) > (mw / mh))
{
w = maxWidth;
h = (w * sh) / sw;
}
else
{
h = maxHeight;
w = (h * sw) / sh;
}
return new Size(Convert.ToInt32(w), Convert.ToInt32(h));
}
代码如下:
//生成缩略图
public static void SendSmallImage(string filename, string newfile, int maxHeight, int maxWidth, string mode)
{
System.Drawing.Image img = System.Drawing.Image.FromFile(filename);//源图像的信息
新闻热点
疑难解答
图片精选