做站的時候經常會遇到要生成縮略圖的功能,因為可能不同的情況需要用來不同大小的縮略圖。
本文生成的圖片都為正方形,只有正方形的縮略圖才是保證圖片足夠清晰。
當我我這里說的正方形是先按比例壓縮,然后加一個固定的白底 然后居中顯示。
代碼:
新建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);//源圖像的信息
新聞熱點
疑難解答
圖片精選