/** * 对图片裁剪,并把裁剪完蛋新图片保存 。 * * @param srcpath: 被裁减的图片完整路径 * @param tarpath: 已裁减的新图片保存完整的路径 * @param x: 裁减矩形区域左上顶点水平位移 * @param y: 裁减矩形区域左上顶点垂直位移 * @param width: 裁减矩形区域的宽度 * @param height: 裁减矩形区域的高度 */ public static void cut(String srcpath, String tarpath, int x, int y, int width, int height) { try { // 读取图片文件 FileInputStream is = new FileInputStream(srcpath); // 获取图片流 ImageInputStream iis = ImageIO.createImageInputStream(is); // 转化成输出流 BufferedImage outputImage = getSubimage(ImageIO.read(iis), x, y, width, height); // 保存新图片 if (null != outputImage) { ImageIO.write(outputImage, "jpg", new File(tarpath)); } } catch (IOException e) { e.printStackTrace(); } } public static BufferedImage getSubimage(BufferedImage inputImage, int x, int y, int width, int height) { return getSubimage(inputImage, new Rectangle(x, y, width, height)); } public static BufferedImage getSubimage(BufferedImage inputImage, Rectangle rect) { if (rect.x < 1 || rect.y < 1 || rect.x > inputImage.getWidth() || rect.y > inputImage.getHeight()) { return null; } int x = Math.min(inputImage.getWidth(), rect.x); int y = Math.min(inputImage.getHeight(), rect.y); int width = Math.min(inputImage.getWidth() - x, rect.width); int height = Math.min(inputImage.getHeight() - y, rect.height); return inputImage.getSubimage(x, y, width, height); }

转载于:https://www.cnblogs.com/xingxiudong/archive/2010/02/23/3987038.html

简单的java图像裁减相关推荐

  1. 简单计算机java程序_JAVA程序员需要知道的计算机底层基础10-操作系统引导程序的简单...

    JAVA程序员需要知道的计算机底层基础10-操作系统引导程序的简单 JAVA程序员需要知道的计算机底层基础10-操作系统引导程序的简单制作 汇编实现引导程序 ; 文件名 boot.asm org 7c ...

  2. 一种移动端简单的检测图像中身份证(银行卡)的方式

    一种简单的检测图像中身份证(银行卡)的方式 客户端检测身份证.银行卡之类的功能应该是很常见的,一般都是采用集成第三方OCR sdk来完成信息的采集.但是如何只是初步识别相机镜头中到底包不包含身份证,然 ...

  3. 编写运行最简单的java程序——使用记事本编写java程序

    编写运行最简单的java程序--使用记事本编写java程序 第一个java程序--使用记事本编辑 经过上篇文章的java环境搭建成功的小伙伴们可以在自己的计算机上编写属于自己的java程序了yo~ 还 ...

  4. 用java做一个简单记事本_用记事本写一个简单的java程序

    用记事本写一个简单的java程序 第一步: 安装好jdk,并设置好环境变量. 桌面-计算机(右键)-属性-高级系统设置-环境变量-path-在变量值后加上:和jdk安装路径加上(路径即为C:\Prog ...

  5. Intellij Idea创建一个简单的java项目

    2016年11月12日 我即将要离开象牙塔(校园),踏入社会,想想未来我是某个公司的一个程序员,再对比一下小时的梦想,好像出入挺大的.今天我不得不为即将的工作准备,一个java开发工程师,但是我现在是 ...

  6. 一个简单的Java web服务器实现

    前言 一个简单的Java web服务器实现,比较简单,基于java.net.Socket和java.net.ServerSocket实现: 程序执行步骤 创建一个ServerSocket对象: 调用S ...

  7. 图像隐藏matlab代码,picture Matlab简单操作实现图像的隐藏加密 联合开发网 - pudn.com...

    picture 所属分类:其他 开发工具:Others 文件大小:15KB 下载次数:1 上传日期:2018-07-18 09:50:48 上 传 者:至尊宝物语 说明:  Matlab简单操作实现图 ...

  8. java的同步关键字_简单了解Java synchronized关键字同步

    简单了解Java synchronized关键字同步 发布于 2021-1-13| 复制链接 摘记:  synchronized synchronized可以用来同步块,同步方法.同步块可以用来更精确 ...

  9. 最简单的分形图像生成算法

    本文将提供一段完整地生成一幅分形图像文件的C语言代码,并且极为简单.我相信这应该是最简单的分形图像生成算法.大部分的分形图像代码也都很短,但一有递归迭代就难以理解了.而这段代码则很好懂,并且其生成的图 ...

  10. 一个简单的Java计时器项目,附源码

    学Java开发的小伙伴都会想着做一些项目来检验自己的学习成果,今天小千就来分享一个简单的Java计时器项目,源码也放在文中,大家可以参考一下. Java计时器项目 开发环境:win8+eclipse+ ...

最新文章

  1. 全闪存存储时代 NVMe到底是什么?
  2. java String format占位符
  3. 回过头来看对象的四种状态强软弱虚引用的理解
  4. sougou ubuntu 优麒麟_优麒麟(Ubuntu Kylin)17.04 正式版及银河麒麟社区版发布
  5. 使用replace pioneer批量修改文件名
  6. 红象云腾发布新一代PB级高速大数据平台产品
  7. Readhat中挂载yum源
  8. 新装的主机没有ifconfig,route等命令,怎么查找对应的安装包
  9. 深度学习(十七)基于改进Coarse-to-fine CNN网络的人脸特征点定位
  10. 计算机系统-程序加载器
  11. RMAN备份学习笔记
  12. ExtJs4 基础必备
  13. Php微信拉黑,微信被拉黑或删除?用这个方法强制聊天
  14. 2018 PHP面试真题(包括详细解析)
  15. 网络协议丨FTP协议和P2P协议
  16. thinkphp5.1 + 汉字转拼音 + 获取拼音首字母
  17. python人民币转大写_python2.x实现人民币转大写人民币
  18. html5 indexeddb,关于使用HTML5提供的indexedDB的一下心得
  19. 多元线性回归系数求解
  20. java程序员面试笔试宝典8.3排序

热门文章

  1. HP server ILO
  2. Sniffer安全技术从入门到精通
  3. c语言编程工程师基础,c语言工程师的工作是什么
  4. php自定义函数指定参数类型,php – Doctrine:如何添加带可选参数的自定义函数?...
  5. mysql行转列sql函数_(转)行变列SQL语句(MSSQL) - jack - 博客园
  6. 利用bug来进行调试
  7. python卷积函数_Convolution卷积算法python以numpy,Matplotlib实现
  8. [渝粤教育] 山东大学 日本历史与文化 参考 资料
  9. 【渝粤教育】国家开放大学2018年秋季 0300-22T图形创意 参考试题
  10. Caffe 数据结构