java图片坐标处理_java图片处理

news/2025/2/5 21:57:07/

Java中进行图像I/O(即读图片和写图片,不涉及到复杂图像处理)一个类包含静态方便定位方法 ImageReaders和 ImageWriters,并进行简单的编码和解码。

特别说明 imageio 文档说明支持bmp 转换的,但是实际上比不支持的,网络上找了很多,有的人说开imagebuffer缓存但是实际上没有作用, 使用opencv转换还是有问题,不知道是java的问题还是本身就不支持,这个问题

困扰了我24小时,最后被迫无奈只能换成tiff格式.

基本代码

/*File f1 = new File("Z:\\java\\1.png");

BufferedImage image = ImageIO.read(f1);

File f2 = new File("Z:\\java\\2.tiff");

ImageIO.write(image, "png", f2);*///对应输入图片的格式

参数化代码

@Test //获取输入输出图片格式

public void f1() {

String readFormats[] = ImageIO.getReaderFormatNames();

String writeFormats[] = ImageIO.getWriterFormatNames();

System.out.println( Arrays.asList(readFormats));

System.out.println( Arrays.asList(writeFormats));

}

@Test

public void f2() {

Iterator iterator = ImageIO.getImageReadersByFormatName("png");

}

/**

* 对图片裁剪,并把裁剪新图片保存

* @param srcPath 读取源图片路径

* @param toPath 写入图片路径

* @param x 剪切起始点x坐标

* @param y 剪切起始点y坐标

* @param width 剪切宽度

* @param height 剪切高度

* @param readImageFormat 读取图片格式

* @param writeImageFormat 写入图片格式

* @throws IOException

*/

public void cropImage(String srcPath,String toPath,

int x,int y,int width,int height,

String readImageFormat,String writeImageFormat) throws IOException{

FileInputStream fis = null ;

ImageInputStream iis =null ;

try{

//读取图片文件

fis = new FileInputStream(srcPath);

Iterator it = ImageIO.getImageReadersByFormatName(readImageFormat);

ImageReader reader = (ImageReader) it.next();

//获取图片流

iis = ImageIO.createImageInputStream(fis);

reader.setInput(iis,true) ;

ImageReadParam param = reader.getDefaultReadParam();

//定义一个矩形

Rectangle rect = new Rectangle(x, y, width, height);

//提供一个 BufferedImage,将其用作解码像素数据的目标。

param.setSourceRegion(rect);

BufferedImage bi = reader.read(0,param);

//保存新图片

ImageIO.write(bi, writeImageFormat, new File(toPath));

}finally{

if(fis!=null)

fis.close();

if(iis!=null)

iis.close();

}

}


http://www.ppmy.cn/news/322857.html

相关文章

android健身app毕设,几款健身类App的分析报告

最近健身大热,我自己也荣幸地加入了健身行列。由于条件限制只能暂时在家中健身,因此,健身类App成了我的“私人健身教练”。 为了找到更符合自己需求的健身App,我尝试了多款比较热门的应用,比如 Keep、FitTime、硬派健身、火爆健身、人马君等。以下是我的分析报告,主要涉及…

CentOS桥接模式下设置静态IP并解决java.net.ConnectException: Connection timed out: connect

一、前言 最近在配置服务器,DHCP模式下IP地址不固定,每次SSH远程登录连接不上,都要查看新动态分配的IP地址重新配置,感觉些许麻烦,于是给机器配置了静态固定IP。 动态主机配置协议DHCP(Dynamic Host Confi…

学习PS的个人笔记:掌握基本技能和高级应用

引言 Photoshop(简称PS)是一款广泛使用的图像处理软件,被设计师、摄影师和美工等职业人士广泛应用。本篇博客将带你深入学习PS的基本技能和高级应用,从而让你更好地应对各种图像处理任务。 基础知识 界面介绍 打开PS后&#x…

DELL Inspiron(灵越)14-5648拆机指南

DELL Inspiron(灵越)14-5648拆机指南 今天接到了一台dell笔记本,原因是换内存条,我在网上搜索了拆机教程,但是发现都是Inspiron 14-3459要么是dell vostro 14-5648的拆机教程,参考了灵越3459的拆机方法后&…

小米android安全补丁,迅速补救!小米A1重新获得安卓8.0更新:附带最新安全补丁...

自从2017年8月份谷歌正式发布了Android 8.0 的正式版后,很多国际厂商都纷纷让自家产品更新到Android 8.0。不过由于奥利奥还不够稳定,导致很多手机在更新新系统后出现各种小问题。 就拿小米A1来说,在谷歌发布Android 8.0不久后,这…

提取android8.0内核,刷刷刷!小米A1安卓8.0内核源代码公布

IT之家3月18日消息 此前小米承诺,小米A1于2017年底收到安卓8.0更新,随后小米实现诺言,在12月30日将Android 8.0推出到Android One设备上。现在,小米终于公布了Mi A1的Android 8.0 Oreo源代码。 Oreo源代码可以在GitHub(branch“ti…

小米新风机A1疑被黑客入侵

2021年5月1日,提交售后服务申请,之后维修人员上门看过,客服人员告诉你卸载app,重新下载,重新登录,都试过,截止发帖时间2021年5月19日,打过多次客服电话,没有解决&#xf…

小米android安全补丁,小米 A1 Android 8.1 测试版固件:最新 5 月安全补丁

MIUI 作为国内最优秀的 Android 定制 ROM 之一,MIUI 所拥有的快速迭代更新是其拥有强大竞争力的原因之一。固件中一旦出现问题,MIUI 都能及时地对问题进行修复,这样模式也让 MIUI 在国内外都获得了不错的口碑。 据 GizChine.it 报道&#xff…