Silverlight 2 手把手(之一) Deep Zoom
来源:互联网 发布:网络诈骗金额累计吗 编辑:程序博客网 时间:2024/05/16 00:33
Silverlight 2 手把手(之一) Deep Zoom
下面的例子介绍了如何利用一刻钟的时间快速实现一个 Deep Zoom 应用,供您参考。
1. 启动 Deep Zoom Composer 预览版
2. 使用 Deep Zoom Composer 创建 SDI(Sea Dragon Index) 文件集
选取使用照片
布置照片
输出 SDI 文件
输出结果
3. 使用 Visual Studio 2008 创建 Silverlight 网站应用
如果你没有安装 Silverlight 2 beta1 的插件,可以到这里下载。
4. 添加 SDI 文件集到 ClientBin 目录下
5. 使用 <MultiScaleImage> 引用 info.bin
在 Page.xaml 中使用 MultiScaleImage 标签引用 DZC 打包生成的编译文件 info.bin
6. 编译,预览
7. 输入用户提示信息
您可以在 Expression Blend 2.5 3月预览版中调整文字的位置和大小,您也可以使用 VS2008,使用 <TextBlock /> 标签,调整文字信息。
8. 添加鼠标键盘响应事件
在 Page.xaml.cs 中加入对鼠标和键盘的事件响应,代码如下:
1: namespace DeepZoomTest1
2: {
3: public partial class Page : UserControl
4: {
5: Point mousePosition = new Point();
6:
7: public Page()
8: {
9: InitializeComponent();
10: InitializeMouseEvent();
11: }
12:
13: private void InitializeMouseEvent()
14: {
15: this.MouseMove += new MouseEventHandler(Page_MouseMove);
16: this.KeyDown += new KeyEventHandler(Page_KeyDown);
17: }
18:
19: void Page_KeyDown(object sender, KeyEventArgs e)
20: {
21:
22: if (e.Key == Key.W)
23: {
24: Zoom(1.2f, mousePosition);
25:
26: }
27:
28: else if (e.Key == Key.X)
29: {
30: Zoom(0.8f, mousePosition);
31: }
32: else
33: {
34: HtmlPage.Window.Alert("请输入 W 或者 X 进行缩放!");
35: }
36: }
37:
38: void Page_MouseMove(object sender, MouseEventArgs e)
39: {
40: mousePosition = e.GetPosition(this);
41: }
42: public void Zoom(double zoom, Point pointToZoom)
43: {
44: Point logicalPoint = this.DeepZoomCan.ElementToLogicalPoint(pointToZoom);
45: this.DeepZoomCan.ZoomAboutLogicalPoint(zoom, logicalPoint.X, logicalPoint.Y);
46: }
47: }
48: }
9. 添加对用户提示的 Alert 事件
Silverlight 2 中原生支持了对页面中的 DOM 调用!!!为了给用户更多的提示,在 Silverlight 2 中你可以添加以下键盘事件的判断,给用户更好的提示:
1: else
2: {
3: HtmlPage.Window.Alert("请输入"W"或者"X"进行缩放!");
4: }
注意:你需要在 Silverlight 2 项目的默认引用中添加如下 namespace 的引用
1: using System.Windows.Browser;
10. 最终效果
你可以到下面地址下载项目的源文件:
更多参考博客:
Expression 产品组博客
Dan Waters 的博客
Published 30 March 08 11:17 by jijia Filed under: Silverlight- Silverlight 2 手把手(之一) Deep Zoom
- Silverlight 2 和 Deep Zoom
- silverlight Deep Zoom 实现
- 【全面解析DeepZoom 之一】酷!Deep Zoom
- 【全面解析DeepZoom 之一】酷!Deep Zoom
- 初尝Deep Zoom Composer
- 手把手建立一个Silverlight应用程序(2)
- 新浪音乐地图之 Deep Zoom 应用
- Deep Zoom Composer 用户手册(部分)
- [WP7]Correct pinch zoom in Silverlight
- 零元學Expression Blend 4 - Chapter 23 Deep Zoom Composer與Deep Zoom功能
- Zoom
- zoom
- Deep Zoom Composer – Filtering by Tag Sample
- 如何在SharePoint2010中添加Deep Zoom Image
- 回过头来看Silverlight之一
- Silverlight Resource使用之一
- silverlight 行为之一 ---TriggerAction
- 凉的雨热的泪
- JS脚本特效大全
- jquery应用-AJAX推拽分页
- 支付宝接口(刚完成,应该是目前最好的了,含源代码) 收到研究下
- 分手以后还可以做朋友吗?
- Silverlight 2 手把手(之一) Deep Zoom
- JSP 的技术原理
- 伤心的眼泪
- CSDN开始篇
- 重要东西备记
- 如何写出高效的SQL脚本《一》
- 初恋是一种枯涩的美
- Linux自动备份MySQL数据库
- 利用GWT开发高性能Ajax应用