当前位置: 首页 > 面试题库 >

从imageReader写回修改后的图像

谯和煦
2023-03-14
问题内容

我从动画gif中读取了分离的图像,我只需要对其进行更改,frames[i]然后将其设置回文件,并与编写者一起另存为新文件。

    File file = new File("gif1.gif");
    ImageReader reader = ImageIO.getImageReadersBySuffix("GIF").next();
    ImageInputStream in = ImageIO.createImageInputStream(file);
    reader.setInput(in);

    File output = new File("k.gif");

    ImageWriter writer = ImageIO.getImageWritersBySuffix("GIF").next();
    ImageOutputStream out = ImageIO.createImageOutputStream(file);
    writer.setOutput(out);

    int numImages = reader.getNumImages(true); 
    BufferedImage[] frames = new BufferedImage[pocetObrazku];

    for (int i = 0; i < numImages; i++)
    {

        BufferedImage image = reader.read(i);
        frames[i] = reader.read(i);        
    }

我会很高兴为您提供任何帮助。


问题答案:

Tanks @StanislavL
在评论中提供了链接(https://community.oracle.com/thread/1264385),这确实很有帮助。有我的解决方案

File file = new File("gif1.gif");
ImageReader reader = ImageIO.getImageReadersBySuffix("GIF").next();
ImageInputStream in = ImageIO.createImageInputStream(file);
reader.setInput(in);

int numImages = reader.getNumImages(true); 
BufferedImage[] frames = new BufferedImage[pocetObrazku];

File fileOut = new File("k.gif");
fileOut.createNewFile();
ImageWriter iw = ImageIO.getImageWritersByFormatName("gif").next();

ImageOutputStream ios = ImageIO.createImageOutputStream(fileOut);
iw.setOutput(ios);
iw.prepareWriteSequence(null);

for (int i = 0; i < numImages ; i++) {
    BufferedImage image = reader.read(i);
    frames[i] = reader.read(i);

    IIOMetadata metadata = reader.getImageMetadata(i);    
    IIOImage ii = new IIOImage(image, null, metadata);      
    iw.writeToSequence(ii, (ImageWriteParam) null);    
}


 类似资料:
  • 问题内容: 我想以编程方式编辑python源代码。基本上,我想读取一个文件,生成AST,然后写回修改后的python源代码(即另一个文件)。 有多种方法可以使用标准python模块(例如或)来解析/编译python源代码。但是,我认为它们都不支持修改源代码(例如删除此函数声明)然后写回修改后的python源代码的方法。 更新:我想这样做的原因是我想为python编写一个Mutation测试库,主要

  • 问题内容: 解析一个文件,读取AST,对其进行修改,然后写回修改后的源代码我想以编程方式编辑python源代码。基本上,我想读取一个文件,生成AST,然后写回修改后的python源代码(即另一个.py文件)。 有多种方法可以使用标准python模块(例如ast或)来解析/编译python源代码compiler。但是,我认为它们都不支持修改源代码(例如删除此函数声明)然后写回修改后的python源代

  • 问题内容: 我用于将Image存储到。 我想 修改 该 文件的名称 得到保存到服务器之前的文件。 我也想在保存之前将其转换为其他缩略图形式。 这是我的工作方式。 在客户端 在服务器端,我收到查询“ params”,但未获取“文件名” 我的存储型号名称是 如何更改要保存在服务器上的文件的文件名? 问题答案: 我想到了。 我们必须定义一个自定义函数 的getFileName 在。 假设我的 数据源 的

  • 问题内容: 我正在使用Jenkins readYaml读取数据,如下所示: 我想将此修改后的数据写回到Jenkins中的test.yml。如何做到这一点? 问题答案: test.yml: 管道脚本: 最终test.yml:

  • 问题内容: 我的“配置文件复选框”模块存在问题,该模块存储以逗号分隔的自定义配置文件字段。 问题是如果我创建一个视图以按值过滤。SQL结果最终是这样的: 由于值的存储方式如下,因此不会返回任何数据: “商业与投资,判例法,劳动法,税法” 我只需要调整SQL,以确保该字段包含所选值 有什么我可以做的调整吗? 问题答案: 对于“快速破解”解决方案,您可以尝试在自定义模块中实施,检查$ view-> n

  • 主要内容:基本语法,修改视图内容,修改视图名称修改视图是指修改 MySQL 数据库中存在的视图,当基本表的某些字段发生变化时,可以通过修改视图来保持与基本表的一致性。 基本语法 可以使用 ALTER VIEW 语句来对已有的视图进行修改。 语法格式如下: ALTER VIEW <视图名> AS <SELECT语句> 语法说明如下: :指定视图的名称。该名称在数据库中必须是唯一的,不能与其他表或视图同名。 :指定创建视图的 SELECT 语句,