public void Slice()
{
// 图片路径
var file = "F;/aaa.png";
// 水平切分
int horizontal = ;
// 纵向切分
int vertical = ;
for (int i = ; i < horizontal * vertical; i++)
{
using (Image image = Image.FromFile(file, true))
{
// 每一块的高
int s_h = image.Height / horizontal;
// 每一块的宽
int s_w = image.Width / vertical;
// 整除判断自己加吧,懒得写了 /*
0,0 ; 1,0 ; 2,0 ; 3,0
0,1 ; 1,1 ; 2,1 ; 3,1
0,2 ; 1,2 ; 2,2 ; 3,2
0,3 ; 1,3 ; 2,3 ; 3,3
*/
// 左上角为0,0
var rect = new Rectangle();
rect.X = i % vertical * s_w;
rect.Y = i / horizontal * s_h;
rect.Width = s_w;
rect.Height = s_h;
CutForCustom(image, "xxx"+i+".png", rect);
}
}
} /// <summary>
/// 切图
/// </summary>
/// <param name="image">图源</param>
/// <param name="fileSaveUrl">要保存的文件名</param>
/// <param name="rect">位置大小</param>
public void CutForCustom(Image image, string fileSaveUrl, Rectangle rect)
{
var templateImage = new Bitmap(image);
var bitCrop = templateImage.Clone(rect, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
bitCrop.Save(fileSaveUrl);
bitCrop.Dispose();
templateImage.Dispose();
image.Dispose();
}

具体文件怎么来就随意了。如果切分的块数不能整除也可以,只是会丢失,自己补足一下会更复杂了

C# 切分图片的更多相关文章

  1. GIMP 一键均匀添加多条参考线 一键均匀切分图片

    添加参考线 #!/usr/bin/env python2 # -*- coding: utf-8 -*- from gimpfu import * # orientation: ORIENTATION ...

  2. Qt中用QSS切分图片

    Qt设计时有时需要实现动态按钮,按钮点击时一个状态,鼠标悬浮时一个状态,离开时一个状态,静止时一个状态.可以用一张png长图,使用QSS分段截取,分配给每一个状态.    1.调用函数 SetButt ...

  3. 多个图标图片(雪碧图)使用CSS样式显示

    现在的网页中显示很多图标算是常态,发现项目中页面上用到的图标都是单个图标单个文件,用的时候直接往页面上挂,这确实很常态. 如果,网站是挂在外网上,或者网速过低,又大量使用图标的情况下,由于浏览器和服务 ...

  4. python实现读取并显示图片的两种方法

    https://www.cnblogs.com/lantingg/p/9259840.html 在 python 中除了用 opencv,也可以用 matplotlib 和 PIL 这两个库操作图片. ...

  5. 网页中多个图标在一张图片上,使用css将各图标显示

    现在的网页中显示很多图标算是常态,发现项目中页面上用到的图标都是单个图标单个文件,用的时候直接往页面上挂,这确实很常态. 如果,网站是挂在外网上,或者网速过低,又大量使用图标的情况下,由于浏览器和服务 ...

  6. IOS 2D游戏开发框架 SpriteKit

    最近发现Xcode自带的2D游戏开发框架SpriteKit可以直接引入到APP中进行混合开发,这就是说可以开发出既带业务应用又带游戏的苹果APP,咋怎么觉得这是一个自己的小发现....呵呵....., ...

  7. CSS 有趣的边框

    今天看到一篇文章.是利用CSS边框来做折纸效果.感觉非常有意思.于是就对CSS的border研究了一下.发现还真有一些好玩的使用方法. 1.border折纸效果 首先是HTML代码,为了简单,就一个d ...

  8. CoCos2dx开发:tile地图绘制和Tiled工具的基本使用

    1.新建地图: 在Tiled工具里新建文件: 设置地图的地图大小和地图块大小: 新建好的空文件如下: 2.绘制图块: 在Aseprite中建立相应大小(注意:划分的图块为32*32,因此图片大小最好与 ...

  9. 数据分析之numpy模块

    numpy(numerical python)是python语言的一个扩展程序库,支持大量的维度数组和矩阵运算,此外也针对数组提供大量的数学函数库. 一.创建数组 1 使用array()创建 impo ...

随机推荐

  1. Java作业:第二次过程性考核 ——长春职业技术学院 16级网络工程

    ## 时间有限,脑力不足 ## 只给出代码部分(附带注释) 码云 https://gitee.com/SoridoD/codes 7-5: import java.util.Scanner; clas ...

  2. datatable处理gridview筛选后的值

    DataTable dt = (DataTable)gridView1.GridControl.DataSource; DataRow[] drr = dt.Select(gridView1.RowF ...

  3. JAVA常用异常类

    算数异常类:   ArithmeticExecption 空指针异常类:    NullPointerException 指定类不存在:    ClassNotFoundException 字符串转换 ...

  4. 展示金额的方法(1元-->1.00元)

    public static String showMoneyByTwoDecimal(String account) { DecimalFormat doubleFormatter = new Dec ...

  5. URL 通过Get方式传递数组参数

    URL 通过Get方式传递数组参数 方法1: ?id=1&id=2&id=3 后台获取时,只需要reqeust.getParameterValues("id") 获 ...

  6. hadoop sentry错误记录

    1.报无法实例化metastore连接 hive> show tables; FAILED: SemanticException org.apache.hadoop.hive.ql.metada ...

  7. 网站优化之Apache2.4GZIP功能

    现在主流浏览器都支持资源文件压缩传输(通过设置http header的Content-Encoding=gzip). 网站优化之一就是开通服务器端的gzip功能,通过对资源文件压缩传输,加快了页面响应 ...

  8. axios,vue-axios在项目中的应用

    Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中 关于axios的功能: 1,从浏览器中创建XMLHttpRequests 2,从node.js常见Htt ...

  9. java 两行代码解析json文件

    public void JsonRead() throws IOException{ String str = FileUtils.readFileToString(new File("D: ...

  10. AOP异常报错1

    Error creating bean with name 'org.springframework.aop.support.DefaultBeanFactoryPointcutAdvisor#0' ...