图片切割方法
2015-07-20 17:18
405 查看
public void SplitImg(string imgName, int part)
{
string path = Server.MapPath(@"nf\");
System.Drawing.Image img = System.Drawing.Image.FromFile(path + imgName);
int cutWidth;
int cutHeight;
int lastWidth;
int index;
lastWidth = img.Width;
cutHeight = img.Height;
cutWidth = img.Width / part;
index = imgName.IndexOf(".");
for (int i = 1; i <= part; i++)
{
if (i != part)
{
lastWidth = lastWidth - cutWidth;
System.Drawing.Bitmap bm = new System.Drawing.Bitmap(cutWidth, cutHeight, System.Drawing.Imaging.PixelFormat.Format24bppRgb);
System.Drawing.Graphics gh = System.Drawing.Graphics.FromImage(bm);
gh.DrawImage(img, new System.Drawing.Rectangle(0, 0, cutWidth, cutHeight), (i - 1) * cutWidth, 0, cutWidth, cutHeight, System.Drawing.GraphicsUnit.Pixel);
bm.Save(path + imgName.Substring(0, index) + i + ".jpeg", System.Drawing.Imaging.ImageFormat.Jpeg);
}
else
{
System.Drawing.Bitmap bm = new System.Drawing.Bitmap(lastWidth, cutHeight, System.Drawing.Imaging.PixelFormat.Format24bppRgb);
System.Drawing.Graphics gh = System.Drawing.Graphics.FromImage(bm);
gh.DrawImage(img, new System.Drawing.Rectangle(0, 0, lastWidth, cutHeight), img.Width - lastWidth, 0, lastWidth, cutHeight, System.Drawing.GraphicsUnit.Pixel);
bm.Save(path + imgName.Substring(0, index) + i + ".jpeg", System.Drawing.Imaging.ImageFormat.Jpeg);
}
}
}
{
string path = Server.MapPath(@"nf\");
System.Drawing.Image img = System.Drawing.Image.FromFile(path + imgName);
int cutWidth;
int cutHeight;
int lastWidth;
int index;
lastWidth = img.Width;
cutHeight = img.Height;
cutWidth = img.Width / part;
index = imgName.IndexOf(".");
for (int i = 1; i <= part; i++)
{
if (i != part)
{
lastWidth = lastWidth - cutWidth;
System.Drawing.Bitmap bm = new System.Drawing.Bitmap(cutWidth, cutHeight, System.Drawing.Imaging.PixelFormat.Format24bppRgb);
System.Drawing.Graphics gh = System.Drawing.Graphics.FromImage(bm);
gh.DrawImage(img, new System.Drawing.Rectangle(0, 0, cutWidth, cutHeight), (i - 1) * cutWidth, 0, cutWidth, cutHeight, System.Drawing.GraphicsUnit.Pixel);
bm.Save(path + imgName.Substring(0, index) + i + ".jpeg", System.Drawing.Imaging.ImageFormat.Jpeg);
}
else
{
System.Drawing.Bitmap bm = new System.Drawing.Bitmap(lastWidth, cutHeight, System.Drawing.Imaging.PixelFormat.Format24bppRgb);
System.Drawing.Graphics gh = System.Drawing.Graphics.FromImage(bm);
gh.DrawImage(img, new System.Drawing.Rectangle(0, 0, lastWidth, cutHeight), img.Width - lastWidth, 0, lastWidth, cutHeight, System.Drawing.GraphicsUnit.Pixel);
bm.Save(path + imgName.Substring(0, index) + i + ".jpeg", System.Drawing.Imaging.ImageFormat.Jpeg);
}
}
}
相关文章推荐
- placeholder
- 求多个数的最小公倍数的问题
- Using CSV-Format Log Output
- 什么是向量中断,什么是中断向量?
- Excel中随心所欲显示日期的格式
- Difference between Enumeration and Iterator in Java
- LAMP服务器环境之编译(部分)安装-php的modules模式
- makefile 编写之32 or 64位机器
- EF code first attribute
- springmvc + hibernate构建web工程(二)
- 为qt添加sql驱动
- SQL Server 海量数据查询代码优化以及建议
- 创建 AngularJS 自定义过滤器,带自定义参数
- Android开发之ListView-BaseAdapter的使用
- Python简单调用MySQL存储过程并获得返回值的方法
- GRE写作必备句型
- Snail—OC学习之Hello,World!
- 基于opencv的一种局部自适应快速二值化方法(积分法)
- 基数排序
- 谷歌官方建议笔记——多线程