中.
6. 托拽的结果是在index.jsp中加入了一些代码, 一行是导入了jMaki的 taglib, 一个是创建了FishEye widget实例.
......
<ajax name="dojo.fisheye"></ajax> args="{items:[ {iconSrc:'https://ajax.dev.java.net/images/blog_murray.jpg',caption:'You are here!'}, {iconSrc:'https://ajax.dev.java.net/images/chinnici.jpg',caption:'test3'}, {iconSrc:'https://ajax.dev.java.net/images/JayashriVisvanathan.jpg',caption:'test4'} ]}"/> |
7. 这个例子中缺省配置的几幅图像是参与开发jMaki的工程师头像,下面我要把这几幅图像替换为duke. 在jMakiFishEye项目的web目录下创建images 目录,拷贝几幅duke图像,修改index.jsp中 FishEye的代码如下:
<ajax name="dojo.fisheye"></ajax> args="{items:[ {iconSrc:'images/Bike.jpg',caption:'Bike',index:1}, {iconSrc:'images/Snooze.jpg',caption:'Snooze',index:2}, {iconSrc:'images/Surfing.jpg',caption:'Surfing',index:3}, {iconSrc:'images/Thinking.jpg',caption:'Thinking',index:4}, {iconSrc:'images/Toolbelt.jpg',caption:'Toolbelt',index:5} ]}"/> |
8. 运行结果如下:
9. 这个FishEye的效果是水平方向的,如果想改成垂直方向, 打开jMakiFishEye下的index.jsp, 鼠标右键点击FishEyeWidget代码段, 可以看到”jMaki”菜单, 是用来对jMaki中Widget做外观配置的窗口. 出现的”dojo.fisheye Customizer”窗口中,修改”orientation”中的值为”Vertical”.
10. 再运行jMakiFishEye的结果如下:
JMaki中FishEye的实现也包括两部分.客户端和服务器端.
客户端内容在 jMakiFishEye 项目的Web/Resource/dojo/fisheye, 包括四个文件
-
images/dojo-fisheye.jpg: 缺省图像背景
-
component.htm: 模板
-
component.js:这个JavaScritp 文件定义了Fisheye的操作
-
widget.json: 这个文件提供了访问Fisheye的接口
服务器端是两个jar文件, 主要是实现了前面介绍的jMaki Server Runtime和XmlHttpProxy
-
ajax-wrapper-comp.jar:
-
rss.jar:
下图列出了fisheye Widget有关的文件
(二)jMaki中的”发布/订阅机制”(publish/subscribe machnism)介绍
其它应用程序如果要使用jMaki中的 Widget, 需要遵循jMaki的”发布/订阅机制”(publich/subscribe machnism). 下面给出一个应用FishEye的实例, 来说明如何实现”发布/订阅机制”(publich/subscribe machnism)。这个FishEye实例会在点击FishEye图标时, 在页面的某个位置显示当前点击的图像,已经图像的详细信息。
第一步, Widget 需要发布(publish)一个主题(Topic)
按照需求, 应用程序需要知道FishEye中哪一个图标被选中, 因此需要修改component.js中和Click有关的代码.黑体部分代码是在图标的onClick函数中发布(publish)了这个topic, (“/dojo/fisheye”).参数this指当前的图标,包含所有的图标的相关信息,比如src, caption, index等等.
// programtically add FisheyeListItem children to the widget var counter = 0; while (true) { var i = items[counter++]; if (i == null) break; var icon = dojo.widget.createWidget("FisheyeListItem", i);
icon.onClick = function () { //jmaki.publish(topic, {target:this, wargs:wargs}); jmaki.publish(topic, this); } fishEye.addChild(icon); } |
第二步, 应用程序订阅(subscribe)这个主题
Fisheye缺省的点击动作会弹出一个 JavaScript窗口,内容为"glue.js : fisheye event",现在我们不需要这个弹出窗口,可以在 glue.js中找到handleFisheye代码, 注释掉”alert”部分
handleFisheye : function(args) { //alert("glue.js : fisheye event"); }, |
应用程序订阅(subscribe)主题需要做两件事:
修改index.jsp, 加入两段代码.一段是在左侧栏中加入"",用来显示点击FishEye中图标的结果(黑体字是新加入部分)
<!-- leftSidebar -->
...... |
一段是JavaScript 代码,调用subscribe方法和完成listener方法. 这段Script代码要放在Fisheye Widget代码之后.
Main Content Area <ajax name="dojo.fisheye"></ajax> args="{items:[ {iconSrc:'images/Bike.jpg',caption:'Bike',index:1}, {iconSrc:'images/Snooze.jpg',caption:'Snooze',index:2}, {iconSrc:'images/Surfing.jpg',caption:'Surfing',index:3}, {iconSrc:'images/Thinking.jpg',caption:'Thinking',index:4}, {iconSrc:'images/Toolbelt.jpg',caption:'Toolbelt',index:5} ]}"/>
<script type="text/javascript"></script> function fisheyeListener(item) { var targetDiv = document.getElementById("image_detail"); var responseText = " " + "Caption: "+ item.caption + " " + "Image index: " + item.index + ""; targetDiv.innerHTML = responseText; } jmaki.subscribe("/dojo/fisheye", fisheyeListener); <!-- content --> |
运行结果如下, 点击FishEye中的某个图标后,在左侧栏中显示对应图像以及图像的详细信息:
相关推荐
JQuery Fisheye实例,苹果鱼眼菜单特效,附源码、插件。
对鱼眼图运用C++语言进行处理,效果还可以!!!!!!
参照opencv及网上资料基于opencv3.0编写,标定结果与matlab2015一致,欢迎交流!
鱼眼校正最常见的经度校正、双经度校正、透视投影校正的相关算法文档和matlab code 适合刚刚入门做鱼眼校正、几何变换的同学作为参考资料。
可实现鱼眼校正功能,主要包括有效区域的提取与鱼眼校正
对于鱼眼相机形成的畸变进行矫正,矫正效果比较理想。对于鱼眼矫正这一块初学者来说,有较大的意义
用WPF 制作的FishEye(鱼眼)控件 非常的绚丽。
将鱼眼全景图显示在一个球体上,从而肉眼能够感受到鱼眼视觉效果。
利用棋盘格进行标定, 然后计算鱼眼镜头的畸变系数以及内参, opencv中自带有fisheye模块, 可以直接根据棋盘格标定结果,采用cv2.fisheye.calibrate计算畸变系数以及内参, 然后使用cv2.fisheye....
Imadio.Fisheye.Hemi.Photoshop.Plug-In.2.0.6.rar 鱼眼照片矫正工具 ps插件
一个快速利用UE4制作鱼眼镜头方式;里面包含图文文档和工程文件
鱼眼镜头图像校正的文章 很有参考价值~
相比传统镜头
这个是用MATLAB做的标定 ,请大家好好调试一下。
matlab 简单的鱼眼校正程序,可以直接运行,注意修改图像的路径,要用其他图像测试,请根据图片修正参数,程序是球面校正模型。
该存储库是具有GPU和Visionworks加速功能的的Fisheye版本。 它可以在Nvidia TX2上实时运行,还可以基于鱼眼提供深度估计。 该项目是的一部分: :一种用于航空群的分散式全方位Visual-Inertial-UWB状态估计系统。 您...
鱼眼标定校正 opencv3.0 ,效果还可以,运行环境vs2010,里面配有网格图片,稍微配一下opencv路径,就可以看矫正效果。简单快捷
FishEye提供了: 1.监控:keep tabs on anything or everything.跟踪您自己的,您的团队的,或者每一个人的源代码.定制每一个的email和RSS feed,可配置的变更日志. 2.搜索: 得到您寻找的东西. 快速地转到文件. 通过注释...
# 鱼眼相机内参和畸变参数标定(Python+OpenCV) 1. 使用Python绘制并显示棋盘格,可在屏幕上显示用于拍摄,也可保存打印后拍摄; 2. 使用Python调用鱼眼相机拍摄图像并保存; 3. 读取拍摄的棋盘格图像,计算鱼眼...
本文是MATLAB鱼眼相机的标定过程,建立在学习普通相机的标定过程之上。转载请注明出处。请高手指教结果出现更加畸形的原因。 普通相机的标定引用自:http://blog.csdn.net/jameshater/article/details/53172333 好多...