[Java] Java九格切图 (同样支持四格, 六格, n*n格)

本文介绍如何使用Java实现九宫格、四宫格、六宫格等多宫格图片切图功能。通过读取图片、计算每个宫格的XY坐标并进行裁剪,详细步骤包括从URL或本地读取图片,计算各宫格坐标,以及进行裁剪操作。源码已上传至GitHub,欢迎大家讨论和改进。
摘要由CSDN通过智能技术生成

公司的APP要做一个九格切图功能, 类似朋友圈那种一张大图放上去.

本来已经用Python三十行搞定. 结果被测试部的质疑我不会用Java写?? 一下子脾气就上来了, 用Java写了一个支持N格切图的功能. 现在想想真是后悔, 浪费生命. 在此给大家贡献出来

源码已上传至GitHub, 如果喜欢就点个星星啥的呗 https://github.com/HarrisonQi/GridCutter

思路:

  1. 读取图片
  2. 根据宫格数进行计算每个格子的X, Y坐标
  3. 对每一个进行裁剪

1. 读取图片

读取图片的方式千千万, 从本地或者从URL读取皆可

  1. 通过URL读取BufferedImage
	// 需要对IOException进行处理, 一共两处, 在URL连接处和文件读取处
	URL url = new URL("http://yihezo.cn/static/media/logo.9d4a5ade.png");
	URLConnection connection = url.openConnection(); //打开连接
    connection.setDoOutput(true);
    connection.setReadTimeout(3000);// 设置超时时间(非必须)
    BufferedImage img = ImageIO.read(connection.getInputStream());
  1. 通过本地文件路径读取BufferedImage
	File file = new
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值