如何使用javascript更改画布上图像的窗口级别
How to change window level of an image on canvas using javascript
我在画布上有一个图像或在画布上绘制的一组图像。我可以很好地绘制它们,但我想通过在画布上拖动鼠标来更改图像的窗口级别。我见过很多外部javascript api,但它们非常巨大,我不想将它们用于此目的。
这是我的JSFIDDLE,它基本上是在画布上绘制图像
这就是我的代码的样子
// Grab the Canvas and Drawing Context
var canvas = document.getElementById('c');
var ctx = canvas.getContext('2d');
// Create an image element
var img = document.createElement('IMG');
// When the image is loaded, draw it
img.onload = function () {
ctx.drawImage(img, 0, 0);
}
// Specify the src to load the image
img.src = "http://imgsv.imaging.nikon.com/lineup/lens/zoom/normalzoom/af-s_dx_18-140mmf_35-56g_ed_vr/img/sample/sample5_l.jpg";
我需要一些基本的JS或JQuery。如果你能用一个示例代码为我指明正确的方向,那就太好了。
提前谢谢。
如果您想使用JavaScript,请尝试以下操作:
<script>
var c = document.getElementById("drawingboard");
var ctx = c.getContext("2d");
var mouseDown = 0;
document.body.ontouchstart = function() {
mouseDown+=1;
}
document.body.ontouchend = function() {
mouseDown-=1;
}
function draw(event){
ctx.color='gold';
ctx.fillStyle = "lime";
ctx.drawImage(img,event.clientX,event.clientY);}
</script>
这是我经过一些研究后得到的:
const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
const rangeMin = level - window / 2;
const rangeMax = level + window / 2;
const totalSize = canvas.width * canvas.height;
for (let idx = 0; idx < totalSize; idx++) {
if (imageData.data[idx] < rangeMin) {
imageData.data[idx] = 0;
} else if (imageData.data[idx] > rangeMax) {
imageData.data[idx] = 255;
}
}
ctx.putImageData(imageData, 0, 0);
相关文章:
- Javascript排序的图像弹出窗口..可以't单独弹出
- 使用JavaScript根据窗口/视口的高度动态调整图像大小
- Javascript:为页面上的所有图像制作模式弹出窗口
- 如何将 html5 画布另存为窗口 8 Metro 应用程序中的图像文件
- 若图像较大,则在窗口中调整Lightbox容器
- 如何在提交后关闭颜色框窗口,并刷新父页面上的图像
- 如何在弹出窗口中居中显示图像
- 接受从另一个浏览器窗口拖放图像
- 打开新窗口进行打印时不显示 JavaScript 图像
- 根据窗口大小调整 HTML 中 SVG 图像的大小
- TinyMCE 对话框.css未在图像弹出窗口中加载,会抛出 404
- 单击按钮并将其下载为图像格式时,如何使用引导模式弹出窗口显示D3图表
- 如何在鼠标移动事件时更改图像的窗口中心和宽度
- 图像宽度上的转换不适用于窗口滚动
- 在新窗口中打开时,未在画布中绘制图像
- 使用Javascript单击选择按钮时,在另一个窗口上显示图像
- 跨越浏览器窗口宽度的横幅图像
- Javascript,包含窗口边缘内的图像
- 从弹出窗口打印图像
- 如何在鼠标悬停在另一个图像/链接上时显示新图像/窗口