保存大图像 - 光栅问题

2024-04-08

我已经问过如何保存大图像的问题,我认为我走在正确的轨道上,但我仍然需要一些建议。

我有一个 12000 x 12000 的图像,我需要将其另存为 .png

无法使用 BufferedImage。

我已经被建议使用 RenderedImage 接口,但不知何故我无法获得所需的结果。 (我还没有使用过光栅,所以可能我弄错了)

保存图片方法代码:

   public static void SavePanel() {

    PanelImage IMAGE = new PanelImage(panel);

    try {
        ImageIO.write(IMAGE, "png", new File(ProjectNameTxt.getText() +  ".png"));
    } catch (IOException e) {
    }

   }

以及 PanelImage 类的代码:

 public static class PanelImage implements RenderedImage {

    // some variables here

    public PanelImage(JImagePanel panel) {
       this.panel = panel;
    }

  public Raster getData(Rectangle rect) {

        sizex = (int) rect.getWidth();
        sizey += (int) rect.getHeight();
        image = null;
        image = new BufferedImage(
                (int) sizex,
                (int) sizey,
                BufferedImage.TYPE_INT_RGB);
        g2 = image.createGraphics();
        panel.paintComponent(g2);
        return image.getData();
    }

 // rest of the implemented methods - no problems here
 }

我注意到 ImageIO 一次请求一行像素(12000 x 1)。 此方法有效,但我仍然需要 BufferedImage 中的整个图像。 每次 ImageIO 调用该方法时,我都必须增加 BImage 的大小,否则我会得到“坐标超出范围!”异常

Thanks


This PNGJ http://code.google.com/p/pngj/库对于读取/写入巨大图像非常有用,因为它是按顺序执行的,一次只在内存中保留一行。 (前段时间自己写的,因为我也有类似的需求)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

保存大图像 - 光栅问题 的相关文章

  • 将构造函数作为参数传递给方法

    我是java新手 开始研究构造函数 我看到一些构造函数作为参数传递给方法的示例 请告诉我当构造函数作为参数传递给方法时会发生什么 或者建议我一些链接 我可以在其中获得有关使用构造函数的足够知识 根据您需要传递构造函数的目的 您可以考虑传递供
  • 将 MouseListener 添加到面板

    我正在尝试将鼠标操作添加到我的面板中 这就是程序应该做的事情 编写一个程序 允许用户通过按三下鼠标来指定一个三角形 第一次按下鼠标后 画一个小点 第二次按下鼠标后 绘制一条连接前两个点的线 第三次按下鼠标后 绘制整个三角形 第四次按下鼠标会
  • 在 jTextfield 中禁用“粘贴”

    我有一个用 Swing awt 编写的应用程序 我想阻止用户将值粘贴到文本字段中 有没有办法在不使用动作监听器的情况下做到这一点 您可以使用 null 参数调用 setTransferHandler 如下所示 textComponent s
  • 使类只能从特定类实例化

    假设我有 3 节课class1 class2 and class3 我怎样才能拥有它class1只能通过实例化class2 class1 object new class1 但不是 class3 或任何其他类 我认为它应该与修饰符一起使用
  • 最快的高斯模糊实现

    如何以最快的速度实施高斯模糊 http en wikipedia org wiki Gaussian blur算法 我要用Java来实现它 所以GPU http en wikipedia org wiki Graphics processi
  • 运行 java -jar 时出现 java.lang.ClassNotFoundException

    我正在使用 ant 来构建我的build xml文件 它编译正常 但随后得到运行时java lang NoClassDefFoundError通过 运行生成的 jar 时java jar my jar jar 似乎这个问题出现了很多 但没有
  • 本地开发的 Azure Functions 扩展包版本问题

    我有一个带有队列触发器的 Java 11 Azure 函数 该函数在部署到 Azure 时按预期工作 并正确从定义的服务总线主题中提取消息 但是 运行相同的功能locally除非我回滚版本 否则不起作用Azure Functions 绑定扩
  • 记录共享和映射的诊断上下文

    据我所知 其他人做了什么来解决 Commons Logging 项目 针对 NET 和 Java 不支持映射或嵌套诊断上下文这一事实 执行摘要 我们选择直接使用实现者日志框架 在我们的例子中为 log4j 长答案 您是否需要一个抽象日志框架
  • 如何在 HandlerInterceptorAdapter 中添加 HttpServletRequest 标头?

    我正在尝试将授权标头添加到我的请求中 作为我们切换环境时的临时解决方法 我试图在扩展 HandlerInterceptorAdapter 的拦截器中处理它 我使用 MutableHttpServletRequest 类制作here http
  • 无法在 Java 中输出正确的哈希值。怎么了?

    在我的 Android 应用程序中 我有一个 SHA256 哈希值 我必须使用 RIPEMD160 消息摘要算法进一步对其进行哈希值 我可以输出任何字符串的正确 sha256 和ripemd160 哈希值 但是当我尝试使用ripemd160
  • 如何将 Java 地图转换为在 Scala 中使用?

    我正在开发一个 Scala 程序 该程序调用 Java 库中的函数 处理结果并生成 CSV 有问题的 Java 函数如下所示 Map
  • Java:SortedMap、TreeMap、可比较?如何使用?

    我有一个对象列表 需要根据其中一个字段的属性进行排序 我听说 SortedMap 和 Comparator 是实现此目的的最佳方法 我是否要与正在排序的类实现 Comparable 还是创建一个新类 如何实例化 SortedMap 并传入
  • 正确签名的 JNLP 应用程序无法在 Java 7 中运行

    我有一个 JNLP 应用程序 由于证书过期需要更新 我有一个经过 CA 验证的新证书 我已将新证书导入到我的密钥库中 我已导入完整的证书链 我的构建文件对构建中的 jar 进行签名和时间戳
  • 拆分/标记化/扫描字符串并注意引号

    Java中是否有默认 简单的方法来分割字符串 但要注意引号或其他符号 例如 给定以下文本 There s a man that live next door in my neighborhood and he gets me down Ob
  • 使用单独的线程在java中读取和写入文件

    我创建了两个线程并修改了 run 函数 以便一个线程读取一行 另一个线程将同一行写入新文件 这种情况会发生直到整个文件被复制为止 我遇到的问题是 即使我使用变量来控制线程一一执行 但线程的执行仍然不均匀 即一个线程执行多次 然后控制权转移
  • HTTP 状态 405 - 此 URL java servlet 不支持 HTTP 方法 POST [重复]

    这个问题在这里已经有答案了 我无法使页面正常工作 我有要发布的表单方法和我的 servlet 实现doPost 然而 它不断地向我表明我并不支持POST方法 我只是想做一个简单的网站并将值插入到我的 MySQL 数据库中 type Stat
  • BadPaddingException:无效的密文

    我需要一些帮助 因为这是我第一次编写加密代码 加密代码似乎工作正常 但解密会引发错误 我得到的错误是 de flexiprovider api exceptions BadPaddingException 无效的密文 in the 解密函数
  • 删除 JFX 中选项卡后面的灰色背景

    So is there any way to remove the gray area behind the tab s 我尝试过用 CSS 来做到这一点 但没有找到方法 要设置 tabpane 标题的背景颜色 请在 CSS 文件中写入 t
  • Android:ANT 构建失败,并显示 google-play-services-lib:“解析为没有项目的 project.properties 文件的路径”

    我正在尝试使用 ANT 构建我的应用程序 但在包含 google play services lib 库项目后 我惨遭失败 Step 1 我在 project properties 文件中设置了对库项目的引用 android library
  • 如何制作一个makefile只用于编译一些java文件?

    我有三个java文件 名为A java B java C java A将创建对象B B将创建对象C 但我以前从未构建过makefile 有谁可以帮我构建一个 makefile 来编译这三个 java 文件吗 我应该使用什么工具来制作 mak

随机推荐

  • pd.merge_asof() 基于时差不合并所有值 - Pandas

    我有两个数据框 一个包含新闻 另一个包含股票价格 两个数据框都有一个 日期 列 我想以 5 天的间隔合并它们 假设我的新闻数据帧是 df1 另一个价格数据帧是 df2 我的 df1 看起来像这样 News Dates News 2018 0
  • 将 tmux.conf 拆分为多个文件?

    我有一个在计算机之间共享的通用 tmux 设置文件 tmux conf common 我希望能够在我的 tmux conf 中获取此文件 在 bash 中实现此目的的一种方法是让每台计算机的 bashrc 获取公共文件 有没有办法在 tmu
  • unique_ptr自定义存储类型示例?

    霍华德 希南特 解释了 http home roadrunner com hinnant unique ptr03 html that unique ptr还可以使用自定义存储类型 他举了一个例子 共享内存 他只给出了粗略的想法 这对于快速
  • 使用 Eclipse 创建 java 可执行文件

    这完全是一个新手问题 我在 Ubuntu 上运行 Eclipse 我创建了一个测试项目 我想将其编译为可执行文件 Linux 相当于 Windows exe 文件 这是我的程序的内容 public class MyTest public s
  • 具有保序功能的哈希函数

    是否有任何带有uniq哈希码 如MD5 且保序的哈希函数 笔记 我不关心安全性 我需要它来排序 我有很多块 约1MB大小 我想对它们进行排序 当然我可以使用索引排序 但我想减少比较时间 理论上 如果我有 1 000 000 个 1MB 大小
  • Google 地图 7 从地理意图开始,将图钉放置在距离坐标最近的地址而不是确切位置

    在我的应用程序中 用户可以保存特定位置的纬度和经度 我希望他们能够通过以下方式在手机上启动其他应用程序地理意图 https datatracker ietf org doc html draft mayrhofer geo uri 00 s
  • AngularJS 多指令资源争用

    我正在尝试用角度构建指令 这里是plunker http plnkr co edit KbccCT p preview 我想把它分成 3 个指令 最高的祖父母指令 许多DAYS 中间 用 ng repeat 创建 一DAY 底部 使用 ng
  • 2013 年更新了 D 的 GUI 库?

    我正在用 D 开发一个游戏 到目前为止 我真的很欣赏 D 语言 并且对于大多数库都有很好的绑定 现在 对于编辑器 我正在寻找一个便携式 GUI 库 wxD 或 DWT 似乎是不错的选择 但它们似乎被放弃了 因为最新的更新是几年前的 论坛上也
  • 模板类成员函数的显式特化

    我有这个 template
  • 使用 ember-cli-mirage 测试错误响应

    我正在阅读 ember cli mirage 关于创建模拟响应的文档 但无法弄清楚如何测试完全相同的请求的错误响应 例如 test I can view the users function var users server createL
  • FirebaseUI Auth - Facebook 登录错误:来自 Facebook 的 debug_token 响应失败

    我正在尝试集成 FirebaseUI Auth 库 Google 登录和电子邮件登录工作正常 但我在设置 Facebook 登录时遇到问题 这是我的代码 user firebaseAuth getCurrentUser if user nu
  • 跟踪 vb.net 中函数调用的持续时间

    在我们的 VB6 应用程序中 我们添加了一些实用函数来跟踪函数所花费的时间 我们这样做是为了跟踪性能瓶颈 基本上 它的工作原理是有两个实用函数 StartTickCount 和 EndTickCount 您将在每个函数中传递函数名称 函数将
  • 如何让我的 PUT_LINE 语句显示在 TOAD 中?

    此代码可以编译 但在 TOAD 中不会显示 hi wo 输出 CREATE OR REPLACE PROCEDURE AdelTest IS tmpVar NUMBER BEGIN DBMS OUTPUT ENABLE 100 in INT
  • 单击链接后,javascript何时停止在页面上运行?

    我有一个运行各种 javascript 代码的页面 包括调用setTimeout 如果用户单击链接导航到另一个页面 该页面上的 javascript 在什么时候停止运行 因此我的 setTimeout 调用的代码将不再被调用 例如 单击链接
  • 我如何使用 Android EffectFactory 类?

    我厌倦了开发带有图像处理的示例应用程序 在我的应用程序中我需要添加一些color effects Grayscale sepia 在我的位图上 我参考了开发人员文档Doc 1 http developer android com refer
  • react-native\react.gradle' 不存在

    我使用 React Native 创建了一个应用程序 并且正在尝试生成 apk 完成文档中的所有操作后http facebook github io react native docs signed apk android html con
  • 雅罗斯拉夫斯基的双主元快速排序算法

    我正在研究我发现的双枢轴快速排序here http aofa2013 lsi upc edu slides Nebel pdf 幻灯片第 20 页 比较 雅罗斯拉夫斯基平均需求 1 9 n ln n 经典快速排序需要 2 n ln n 比较
  • 多个 jQuery-UI 滑块的合计

    我正在尝试实现一个有 4 个 jQuery UI 滑块的页面 并且我想让所有 4 个滑块的总数永远不会超过 400 我不介意以哪种方式实现这一点 它可以从 0 开始 一旦您更改 1 个滑块 剩余的可用总数就会减少 或者将滑块设置为超过最大值
  • Dart 扩展了 Map 以便于延迟加载

    我正在尝试将数据从服务器延迟加载到地图中 出于这个原因 我想向 Map 添加功能 以便当键不存在时 会进行调用以获取值 我尝试的是这样的 class LazyMap extends Map use length for now When t
  • 保存大图像 - 光栅问题

    我已经问过如何保存大图像的问题 我认为我走在正确的轨道上 但我仍然需要一些建议 我有一个 12000 x 12000 的图像 我需要将其另存为 png 无法使用 BufferedImage 我已经被建议使用 RenderedImage 接口