java - ImageJ API : how to display an image with zoom and drag to scroll features active in the image window?

标签 java imagej

如果我用斐济应用程序打开图片,那么图片会显示在一个窗口中,我可以使用+和-键放大和缩小,也可以按住空格键并用鼠标拖动放大后的图片滚动浏览它。

我想使用 ImageJ API 在 Java 应用程序中实现相同的功能。如果我使用以下代码(取自 here)打开图像,则图像显示在与斐济案例相同类型的窗口中,但缩放和拖动滚动功能在窗口中未激活。

Opener opener = new Opener();  
ImagePlus imp = opener.openImage("/path/to/image.tif");  
imp.show();

有人可以建议如何激活这两个功能吗?对我来说,它们看起来像是每个人都使用的标准功能,因此我希望可以通过 ImageJ API 轻松获得它们的激活。但是我在 API specs 中没有发现任何提示.

据我了解,上面代码中的调用 imp.show(); 等效于以下内容:

ImageWindow imageWindow = new ImageWindow(imp);
imageWindow.setVisible(true);

如果是这样,该 ImageWindow 类中应该有一些方法可以确保激活缩放和拖动以滚动。有人知道吗?

或者,也许有人可以分享一个直接链接到实现了这些确切功能的 Fiji 源代码?应该是here吗? ?如果是,那么具体在哪里?

最佳答案

也许您应该更多地关注 ImageJ source code .我假设这是针对 ImageJ1 的。我的猜测是当主图形用户界面加载到 ImageJ

时设置键绑定(bind)

下载 imagej1 源代码并执行 grep 缩放我发现了

./IJ_Props.txt:zoom01="In [+]",ij.plugin.Zoom("in")
./IJ_Props.txt:zoom02="Out [-]",ij.plugin.Zoom("out")
./IJ_Props.txt:zoom03="Original Scale[4]",ij.plugin.Zoom("orig")
./IJ_Props.txt:zoom04="View 100%[5]",ij.plugin.Zoom("100%")
./IJ_Props.txt:zoom05="To Selection",ij.plugin.Zoom("to")
./IJ_Props.txt:zoom06="Scale to Fit",ij.plugin.Zoom("scale")
./IJ_Props.txt:zoom07="Set... ",ij.plugin.Zoom("set")

尝试使用 ImageJ 类启动主 GUI。或者看看关键监听器是如何在该类中设置的。

ImageJ 的代码中有多个地方是您感兴趣的。例如,第 388 行是 KeyPressed 方法的开始。

在这些操作之后,doCommand 方法会调用相应的插件。

关于java - ImageJ API : how to display an image with zoom and drag to scroll features active in the image window?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33280755/

相关文章:

java - 在 ImageJ Javascript 宏中合并 RGB channel

java - 我想在 imageJ 中显示模糊图像。为什么这不起作用?

java - ImageJ - 如何导入和显示网格?

java - Struts2注解@RequestParameter

java - ImageJ(Java插件): auto threshold method doesn't work

java - 不可序列化对象的数组是否可序列化?

java - 找不到Struts2标签

opencv - 寻找拼图的角落

java - Tomcat 7 管理器/文本界面不工作

java - Wildfly 8 + Jersey war 文件部署问题