gpt4 book ai didi

java - 在 Java 中使用 BufferedImage 查看大图像尺寸

转载 作者:行者123 更新时间:2023-11-29 05:56:47 25 4
gpt4 key购买 nike

我目前有一个图像作为 BufferedImage 加载到程序中。此 BufferedImage 放在具有固定大小的 JPanel 类中。

现在我面临的问题是如何在这个固定大小的 JPanel 中平移这个大的 BufferedImage。

JPanel 尺寸绝对小于图像。

谢谢!

最佳答案

首先,将一些滚动条附加到 JPanel(使用 BorderLayout),仅当图像太大和/或太高时才可见。在剩余空间(中心)附加另一个 JPanel。在那个内部 JPanel 中,您将覆盖 paintComponent 方法并将您的 BufferedImage 部分绘制到 JPanel 中.使用滚动条的偏移量来偏移您的图像,并使用内部 JPanel 来绘制宽度和高度(视口(viewport))。

注意:只要滚动条的值发生变化,您的滚动条就会调用内部JPanelrepaint 方法。

当图像需要重绘时,系统会自动(或手动)调用paintComponent。这样做,您将能够自定义您为图像提供的 View (如果需要此类功能);旋转、缩放、像素操作、自定义叠加等。

您还可以附上一些 MouseMotionListener到内部 JPanel 并根据鼠标移动修改滚动条的偏移量(修改滚动条将自动触发图像上的重绘)以便与您的组件进行鼠标交互。只是一个想法。

关于java - 在 Java 中使用 BufferedImage 查看大图像尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11790644/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com