处理图片
来源:互联网 发布:excel查找多个数据 编辑:程序博客网 时间:2024/05/16 18:30
/**//// <summary>
/// Resize图片(不成功返回null)
/// </summary>
/// <param name="bmp">原始Bitmap</param>
/// <param name="newW">新的宽度</param>
/// <param name="newH">新的高度</param>
/// <returns>处理以后的图片</returns>
public static Bitmap ResizeImage(Bitmap bmp, int newW, int newH)
...{
try
...{
if (bmp.Width == newW && bmp.Height == newH)
return bmp;
float newW_t = 0; //临时宽
float newH_t = 0; //临时高
float xPoint = 0;//若果要补白边的话,原图像所在的x,y坐标。
float yPoint = 0;
if (bmp.Width / bmp.Height < newW / newH) //图片太宽
...{
newH_t = newH;
newW_t = bmp.Width * newH / bmp.Height;
xPoint = (newW - newW_t) / 2;
}
else
...{
newW_t = newW;
newH_t = bmp.Height * newW / bmp.Width;
yPoint = (newH - newH_t) / 2;
}
Bitmap b = new Bitmap(newW, newH);
Graphics g = Graphics.FromImage(b);
g.FillRectangle(new SolidBrush(Color.White), 0, 0, newW, newH);
// 插值算法的质量
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.DrawImage(bmp, new Rectangle(Convert.ToInt32(xPoint), Convert.ToInt32(yPoint), Convert.ToInt32(newW_t), Convert.ToInt32(newH_t)), new Rectangle(0, 0, bmp.Width, bmp.Height), GraphicsUnit.Pixel);
g.Dispose();
return b;
}
catch
...{
return null;
}
}
/// Resize图片(不成功返回null)
/// </summary>
/// <param name="bmp">原始Bitmap</param>
/// <param name="newW">新的宽度</param>
/// <param name="newH">新的高度</param>
/// <returns>处理以后的图片</returns>
public static Bitmap ResizeImage(Bitmap bmp, int newW, int newH)
...{
try
...{
if (bmp.Width == newW && bmp.Height == newH)
return bmp;
float newW_t = 0; //临时宽
float newH_t = 0; //临时高
float xPoint = 0;//若果要补白边的话,原图像所在的x,y坐标。
float yPoint = 0;
if (bmp.Width / bmp.Height < newW / newH) //图片太宽
...{
newH_t = newH;
newW_t = bmp.Width * newH / bmp.Height;
xPoint = (newW - newW_t) / 2;
}
else
...{
newW_t = newW;
newH_t = bmp.Height * newW / bmp.Width;
yPoint = (newH - newH_t) / 2;
}
Bitmap b = new Bitmap(newW, newH);
Graphics g = Graphics.FromImage(b);
g.FillRectangle(new SolidBrush(Color.White), 0, 0, newW, newH);
// 插值算法的质量
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.DrawImage(bmp, new Rectangle(Convert.ToInt32(xPoint), Convert.ToInt32(yPoint), Convert.ToInt32(newW_t), Convert.ToInt32(newH_t)), new Rectangle(0, 0, bmp.Width, bmp.Height), GraphicsUnit.Pixel);
g.Dispose();
return b;
}
catch
...{
return null;
}
}
- 图片处理
- 处理图片
- 图片处理
- 图片处理
- 图片处理
- 图片处理
- 图片处理
- 图片处理
- 处理图片
- 图片处理
- 图片处理
- 图片处理
- 图片处理
- 图片处理
- 图片处理
- 图片处理
- 图片处理
- 图片处理
- JFreeChart 当时间点点缺失时断裂画法(转)
- blog
- -Bprefix
- IHttpHandler的妙用(2):防盗链!我的资源只有我的用户才能下载
- 几种JavaScript接受URL参数的方法
- 处理图片
- 第一章 初识Erlang
- JavaScript实现DropDownList(Select)三级联动无刷新
- cpio这种奇怪的包如何解开(linux上面装oracle9i)
- 免费档案托管-最完整的清单列表(不断更新)
- 解决“WSS3.0的重装问题,提示ssee 数据库出错”的方法
- System.Web 命名空间
- JMX技术
- SQL注入划时代的脚本攻击——利用纯脚本技术获得系统权限