基于HTML5的PACS--HTML5图像处理(1)放大镜效果

仅提供参考和学习,代码仅为了指明个思路,不经允许请不要随意转载。

要查看此系统更多的图像处理功能请参考:

区域医疗移动影像解决方案--基于HTML5的PACS--HTML5图像处理

 

 

放大镜效果:方便局部放大图像,能够更清楚的观察图像的细节。

 

html页面主要代码: 

<canvas id="imageCanvas" ></canvas>

 javascript主要代码:

 1 //注:在这代码之前canvas已经绘制过图像 此处省略
 2 var canvas=$("#imageCanvas").get(0);
 3 var context=canvas.getContext("2d");
 4 canvas.onmousemove=function(event) {
 5     
 6     var newX=event.clientX;//实际运用中要获取鼠标在元素中的相对位置,在此为了方便直接获取了event的clientX
 7     var newY=event.clientY;//实际运用中要获取鼠标在元素中的相对位置,在此为了方便直接获取了event的clientY
 8     //关于怎么获取鼠标在元素中的相对位置  再次不啰嗦了 不明白的就百度吧
 9     
10     var mul_w = 100, mul_h = 100,multiple=2;//放大镜的大小,和放大倍数
11     //获取原始图像的数据
12     var imgData=context.getImageData(newX-mul_w/multiple,newY-mul_h/multiple,mul_w,mul_h);
13     //新生成canvas对象并把获取的图像数据设置到新生成的canvas中
14     var c = document.createElement(‘canvas‘);
15     var ctx=c.getContext("2d");
16     c.width = mul_w;
17     c.height= mul_h;
18     ctx.putImageData(imgData,0,0);
19     ctx.strokeStyle="orange";
20     ctx.strokeRect(0,0,mul_w,mul_h);
21     //设置原始canvas的放大倍数 并把新的canvas画到原始图像中
22     context.setTransform(multiple,0,0,multiple,0,0);
23     context.drawImage(c, (this.newX-mul_w)/multiple,(this.newY-mul_h)/multiple);
24 };

 

 

效果图(为了防止别人把图像加以商业宣传,每个图片加上了网址水印望理解)

1.原始图像 

2.鼠标所在的点放大镜效果图像

 

查看此系统更多的图像处理功能请参考:

区域医疗移动影像解决方案--基于HTML5的PACS--HTML5图像处理

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。