gpt4 book ai didi

javascript - 在 AMI Medical Imaging (AMI) JS ToolKit 中使用鼠标移动来更改级别/窗口

转载 作者:行者123 更新时间:2023-11-27 22:55:31 25 4
gpt4 key购买 nike

我正在使用 AMI Medical Imaging (AMI) JS ToolKit。有没有办法将窗口移动到鼠标事件,例如右键单击并移动?

我知道可以使用示例中的菜单更改窗口/级别,但我想更改 Controller 以移动鼠标。

谢谢!

最佳答案

要通过移动鼠标来控制窗口/级别,您必须监听 mousemouve 事件,然后更新 stackHelper -> slice -> windowWidth/Center愿望。

如果用户按 shift,您可以启用窗口/级别:

var drag =  {
x: null,
y: null
}

var shiftDown = false;

function onKeyPressed(event){

shiftDown = event.shiftKey;

if(!shiftDown){
drag.x = null;
drag.y = null;
}

}

container.addEventListener('keydown', onKeyPressed);
container.addEventListener('keyup', onKeyPressed);

然后在鼠标移动时更新窗口/级别:

function onMouseMove(event){

if(!shiftDown || !stack || !stackHelper){
return;
}

if(drag.x === null){
drag.x = event.offsetX;
drag.y = event.offsetY;
}

var threshold = 15;
var dynamicRange = stack.minMax[1] - stack.minMax[0];
dynamicRange /= container.clientWidth;

if(Math.abs(event.offsetX - drag.x) > threshold){
// window width
stackHelper.slice.windowWidth += dynamicRange * (event.offsetX - drag.x);
drag.x = event.offsetX;
}

if(Math.abs(event.offsetY - drag.y) > threshold){
// window center
stackHelper.slice.windowCenter -= dynamicRange * (event.offsetY - drag.y);
drag.y = event.offsetY;
}

}
container.addEventListener('mousemove', onMouseMove);

查看现场演示(Shift + 鼠标移动来控制窗口级别): http://jsfiddle.net/vabL3qo0/41/

关于javascript - 在 AMI Medical Imaging (AMI) JS ToolKit 中使用鼠标移动来更改级别/窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37659074/

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