热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ij.gui.ImageCanvas.offScreenX()方法的使用及代码示例

本文整理了Java中ij.gui.ImageCanvas.offScreenX()方法的一些代码示例,展示了ImageCanvas.offScreenX()

本文整理了Java中ij.gui.ImageCanvas.offScreenX()方法的一些代码示例,展示了ImageCanvas.offScreenX()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ImageCanvas.offScreenX()方法的具体详情如下:
包路径:ij.gui.ImageCanvas
类名称:ImageCanvas
方法名:offScreenX

ImageCanvas.offScreenX介绍

[英]Converts a screen x-coordinate to an offscreen x-coordinate.
[中]将屏幕x坐标转换为屏幕外x坐标。

代码示例

代码示例来源:origin: net.imagej/ij

protected void handleMouseDown(int sx, int sy) {
if (state==NORMAL && ic!=null) {
state = MOVING;
startX = ic.offScreenX(sx);
startY = ic.offScreenY(sy);
startXD = ic.offScreenXD(sx);
startYD = ic.offScreenYD(sy);
//showStatus();
}
}

代码示例来源:origin: sc.fiji/fiji-lib

public int getOffscreenX(MouseEvent e) {
ImageCanvas canvas = getImageCanvas(e);
return canvas == null ? -1 : canvas.offScreenX(e.getX());
}

代码示例来源:origin: sc.fiji/Time_Lapse

@Override
public void mouseMoved(MouseEvent e) {
if (image == null)
return;
int x = canvas.offScreenX(e.getX());
int frame = 1 + (int)((peakCountPlotLimits[1] - peakCountPlotLimits[0])
* (x - Plot.LEFT_MARGIN) / (peakCountPlot.getWidth() - Plot.LEFT_MARGIN - Plot.RIGHT_MARGIN));
if (frame >= 1 && frame <= image.getStackSize())
image.setSlice(frame);
}
});

代码示例来源:origin: imagej/ImageJA

protected void handleMouseDown(int sx, int sy) {
if (state==NORMAL && ic!=null) {
state = MOVING;
startX = ic.offScreenX(sx);
startY = ic.offScreenY(sy);
startXD = ic.offScreenXD(sx);
startYD = ic.offScreenYD(sy);
//showStatus();
}
}

代码示例来源:origin: net.imagej/ij

public void mouseReleased(ImagePlus imp, MouseEvent e) {
ImageCanvas ic = imp.getCanvas();
int sx = e.getX();
int sy = e.getY();
int ox = ic.offScreenX(sx);
int oy = ic.offScreenY(sy);
Roi roi = imp.getRoi();
if (arrow!=null && !(roi!=null && (roi instanceof Arrow) && roi.contains(ox,oy))) {
arrow.mouseReleased(e);
e.consume();
}
}

代码示例来源:origin: net.imagej/ij

protected void mouseDownInHandle(int handle, int sx, int sy) {
if (state==CONSTRUCTING)
return;
int ox=ic.offScreenX(sx), oy=ic.offScreenY(sy);
double oxd=ic.offScreenXD(sx), oyd=ic.offScreenYD(sy);
if ((IJ.altKeyDown()||IJ.controlKeyDown()) && !(nPoints<=3 && type!=POINT) && !(this instanceof RotatedRectRoi)) {
deleteHandle(oxd, oyd);
return;
} else if (IJ.shiftKeyDown() && type!=POINT && !(this instanceof RotatedRectRoi)) {
addHandle(oxd, oyd);
return;
}
state = MOVING_HANDLE;
activeHandle = handle;
int m = (int)(10.0/ic.getMagnification());
xClipMin=ox-m; yClipMin=oy-m; xClipMax=ox+m; yClipMax=oy+m;
}

代码示例来源:origin: imagej/ImageJA

public void mouseReleased(ImagePlus imp, MouseEvent e) {
ImageCanvas ic = imp.getCanvas();
int sx = e.getX();
int sy = e.getY();
int ox = ic.offScreenX(sx);
int oy = ic.offScreenY(sy);
Roi roi = imp.getRoi();
if (arrow!=null && !(roi!=null && (roi instanceof Arrow) && roi.contains(ox,oy))) {
arrow.mouseReleased(e);
e.consume();
}
}

代码示例来源:origin: imagej/ImageJA

protected void mouseDownInHandle(int handle, int sx, int sy) {
if (state==CONSTRUCTING)
return;
int ox=ic.offScreenX(sx), oy=ic.offScreenY(sy);
double oxd=ic.offScreenXD(sx), oyd=ic.offScreenYD(sy);
if ((IJ.altKeyDown()||IJ.controlKeyDown()) && !(nPoints<=3 && type!=POINT) && !(this instanceof RotatedRectRoi)) {
deleteHandle(oxd, oyd);
return;
} else if (IJ.shiftKeyDown() && type!=POINT && !(this instanceof RotatedRectRoi)) {
addHandle(oxd, oyd);
return;
}
state = MOVING_HANDLE;
activeHandle = handle;
int m = (int)(10.0/ic.getMagnification());
xClipMin=ox-m; yClipMin=oy-m; xClipMax=ox+m; yClipMax=oy+m;
}

代码示例来源:origin: net.imagej/ij

public void mouseDragged(ImagePlus imp, MouseEvent e) {
ImageCanvas ic = imp.getCanvas();
int sx = e.getX();
int sy = e.getY();
int ox = ic.offScreenX(sx);
int oy = ic.offScreenY(sy);
Roi roi = imp.getRoi();
if (roi!=null && (roi instanceof Arrow) && roi.contains(ox,oy))
roi.mouseDragged(e);
else if (arrow!=null)
arrow.mouseDragged(e);
e.consume();
}

代码示例来源:origin: imagej/ImageJA

public void mouseDragged(ImagePlus imp, MouseEvent e) {
ImageCanvas ic = imp.getCanvas();
int sx = e.getX();
int sy = e.getY();
int ox = ic.offScreenX(sx);
int oy = ic.offScreenY(sy);
Roi roi = imp.getRoi();
if (roi!=null && (roi instanceof Arrow) && roi.contains(ox,oy))
roi.mouseDragged(e);
else if (arrow!=null)
arrow.mouseDragged(e);
e.consume();
}

代码示例来源:origin: net.imagej/ij

public void mousePressed(ImagePlus imp, MouseEvent e) {
ImageCanvas ic = imp.getCanvas();
int sx = e.getX();
int sy = e.getY();
int ox = ic.offScreenX(sx);
int oy = ic.offScreenY(sy);
Roi roi = imp.getRoi();
int handle = roi!=null?roi.isHandle(ox, oy):-1;
if (!(roi!=null && (roi instanceof Arrow) && (handle>=0||roi.contains(ox,oy)))) {
arrow = new Arrow(sx, sy, imp);
imp.setRoi(arrow, false);
e.consume();
}
}

代码示例来源:origin: imagej/ImageJA

public void mousePressed(ImagePlus imp, MouseEvent e) {
ImageCanvas ic = imp.getCanvas();
int sx = e.getX();
int sy = e.getY();
int ox = ic.offScreenX(sx);
int oy = ic.offScreenY(sy);
Roi roi = imp.getRoi();
int handle = roi!=null?roi.isHandle(ox, oy):-1;
if (!(roi!=null && (roi instanceof Arrow) && (handle>=0||roi.contains(ox,oy)))) {
arrow = new Arrow(sx, sy, imp);
imp.setRoi(arrow, false);
e.consume();
}
}

代码示例来源:origin: net.imagej/ij

void move(int sx, int sy) {
int xNew = ic.offScreenX(sx);
int yNew = ic.offScreenY(sy);
x += xNew - startxd;
y += yNew - startyd;
clipboard=null;
startxd = xNew;
startyd = yNew;
updateClipRect();
if (ignoreClipRect)
imp.draw();
else
imp.draw(clipX, clipY, clipWidth, clipHeight);
oldX = x;
oldY = y;
oldWidth = width;
old| height<5)
imp.deleteRoi();
}

代码示例来源:origin: imagej/ImageJA

protected void handleMouseUp(int screenX, int screenY) {
super.handleMouseUp(screenX, screenY);
if (width<5 && height<5 && imp!=null && previousRoi==null) {
int ox = ic!=null?ic.offScreenX(screenX):screenX;
int oy = ic!=null?ic.offScreenY(screenY):screenY;
TextRoi roi = new TextRoi(ox, oy, line1a);
roi.setStrokeColor(Toolbar.getForegroundColor());
roi.firstChar = true;
imp.setRoi(roi);
return;
} else if (firstMouseUp) {
updateBounds(null);
updateText();
firstMouseUp = false;
}
if (width<5 || height<5)
imp.deleteRoi();
}

推荐阅读
  • 在Android平台中,播放音频的采样率通常固定为44.1kHz,而录音的采样率则固定为8kHz。为了确保音频设备的正常工作,底层驱动必须预先设定这些固定的采样率。当上层应用提供的采样率与这些预设值不匹配时,需要通过重采样(resample)技术来调整采样率,以保证音频数据的正确处理和传输。本文将详细探讨FFMpeg在音频处理中的基础理论及重采样技术的应用。 ... [详细]
  • 在使用 Qt 进行 YUV420 图像渲染时,由于 Qt 本身不支持直接绘制 YUV 数据,因此需要借助 QOpenGLWidget 和 OpenGL 技术来实现。通过继承 QOpenGLWidget 类并重写其绘图方法,可以利用 GPU 的高效渲染能力,实现高质量的 YUV420 图像显示。此外,这种方法还能显著提高图像处理的性能和流畅性。 ... [详细]
  • 分享一款基于Java开发的经典贪吃蛇游戏实现
    本文介绍了一款使用Java语言开发的经典贪吃蛇游戏的实现。游戏主要由两个核心类组成:`GameFrame` 和 `GamePanel`。`GameFrame` 类负责设置游戏窗口的标题、关闭按钮以及是否允许调整窗口大小,并初始化数据模型以支持绘制操作。`GamePanel` 类则负责管理游戏中的蛇和苹果的逻辑与渲染,确保游戏的流畅运行和良好的用户体验。 ... [详细]
  • 本文详细解析了使用C++实现的键盘输入记录程序的源代码,该程序在Windows应用程序开发中具有很高的实用价值。键盘记录功能不仅在远程控制软件中广泛应用,还为开发者提供了强大的调试和监控工具。通过具体实例,本文深入探讨了C++键盘记录程序的设计与实现,适合需要相关技术的开发者参考。 ... [详细]
  • 【问题】在Android开发中,当为EditText添加TextWatcher并实现onTextChanged方法时,会遇到一个问题:即使只对EditText进行一次修改(例如使用删除键删除一个字符),该方法也会被频繁触发。这不仅影响性能,还可能导致逻辑错误。本文将探讨这一问题的原因,并提供有效的解决方案,包括使用Handler或计时器来限制方法的调用频率,以及通过自定义TextWatcher来优化事件处理,从而提高应用的稳定性和用户体验。 ... [详细]
  • 本文详细解析了 Android 系统启动过程中的核心文件 `init.c`,探讨了其在系统初始化阶段的关键作用。通过对 `init.c` 的源代码进行深入分析,揭示了其如何管理进程、解析配置文件以及执行系统启动脚本。此外,文章还介绍了 `init` 进程的生命周期及其与内核的交互方式,为开发者提供了深入了解 Android 启动机制的宝贵资料。 ... [详细]
  • 深入剖析Java中SimpleDateFormat在多线程环境下的潜在风险与解决方案
    深入剖析Java中SimpleDateFormat在多线程环境下的潜在风险与解决方案 ... [详细]
  • 使用Maven JAR插件将单个或多个文件及其依赖项合并为一个可引用的JAR包
    本文介绍了如何利用Maven中的maven-assembly-plugin插件将单个或多个Java文件及其依赖项打包成一个可引用的JAR文件。首先,需要创建一个新的Maven项目,并将待打包的Java文件复制到该项目中。通过配置maven-assembly-plugin,可以实现将所有文件及其依赖项合并为一个独立的JAR包,方便在其他项目中引用和使用。此外,该方法还支持自定义装配描述符,以满足不同场景下的需求。 ... [详细]
  • 本文详细介绍了一种利用 ESP8266 01S 模块构建 Web 服务器的成功实践方案。通过具体的代码示例和详细的步骤说明,帮助读者快速掌握该模块的使用方法。在疫情期间,作者重新审视并研究了这一未被充分利用的模块,最终成功实现了 Web 服务器的功能。本文不仅提供了完整的代码实现,还涵盖了调试过程中遇到的常见问题及其解决方法,为初学者提供了宝贵的参考。 ... [详细]
  • 如何使用 `org.eclipse.rdf4j.query.impl.MapBindingSet.getValue()` 方法及其代码示例详解 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • 在《ChartData类详解》一文中,我们将深入探讨 MPAndroidChart 中的 ChartData 类。本文将详细介绍如何设置图表颜色(Setting Colors)以及如何格式化数据值(Formatting Data Values),通过 ValueFormatter 的使用来提升图表的可读性和美观度。此外,我们还将介绍一些高级配置选项,帮助开发者更好地定制和优化图表展示效果。 ... [详细]
  • Spring框架中枚举参数的正确使用方法与技巧
    本文详细阐述了在Spring Boot框架中正确使用枚举参数的方法与技巧,旨在帮助开发者更高效地掌握和应用枚举类型的数据传递,适合对Spring Boot感兴趣的读者深入学习。 ... [详细]
  • 使用 ListView 浏览安卓系统中的回收站文件 ... [详细]
  • POJ 2482 星空中的星星:利用线段树与扫描线算法解决
    在《POJ 2482 星空中的星星》问题中,通过运用线段树和扫描线算法,可以高效地解决星星在窗口内的计数问题。该方法不仅能够快速处理大规模数据,还能确保时间复杂度的最优性,适用于各种复杂的星空模拟场景。 ... [详细]
author-avatar
保佑欣疼你的芯疼
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有