eg":
return ImageFormat.Jpeg;
case "bmp":
return ImageFormat.Bmp;
case "png":
return ImageFormat.Png;
case "gif":
return ImageFormat.Gif;
default:
return ImageFormat.Jpeg;
}
}
/// <summary>
/// 制作小正方形
/// </summary>
/// <param name="image">图片对象</param>
/// <param name="newFileName">新地址</param>
/// <param name="newSize">长度或宽度</param>
public static void MakeSquareImage(Image image, string newFileName, int newSize)
{
int i = 0;
int width = image.Width;
int height = image.Height;
if (width > height)
i = height;
else
i = width;
Bitmap b = new Bitmap(newSize, newSize);
try
{
Graphics g = Graphics.FromImage(b);
//设置高质量插值法
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
//设置高质量,低速度呈现平滑程度
g.SmoothingMode = SmoothingMode.AntiAlias;
g.PixelOffsetMode = PixelOffsetMode.HighQuality;
//清除整个绘图面并以透明背景色填充
g.Clear(Color.Transparent);
if (width < height)
g.DrawImage(image, new Rectangle(0, 0, newSize, newSize), new Rectangle(0, (height - width) / 2, width, width), GraphicsUnit.Pixel);
else
g.DrawImage(image, new Rectangle(0, 0, newSize, newSize), new Rectangle((width - height) / 2, 0, height, height), GraphicsUnit.Pixel);
SaveImage(b, newFileName, GetCodecInfo("image/" + GetFormat(newFileName).ToString().ToLower()));
}
finally
{
image.Dispose();
b.Dispose();
}
}
/// <summary>
/// 制作小正方形
/// </summary>
/// <param name="fileName">图片文件名</param>
/// <param name="newFileName">新地址</param>
/// <param name="newSize">长度或宽度</param>
public static void MakeSquareImage(string fileName,string newFileName, int newSize)
{
MakeSquareImage(Image.FromFile(fileName), newFileName, newSize);
}
}
}
|