正确选择新的Deep Zoom应用程序的工具 [英] The correct choice of tools for a new Deep Zoom application

查看:393
本文介绍了正确选择新的Deep Zoom应用程序的工具的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想创建一个新的应用程序。它基本上是一个Deep Zoom应用程序,用户可以在其上绘制注释(这将保存到数据库,以便其他用户可以看到这些注释。)首先它只是在浏览器中运行。但是,如果应用程序可以被现场的发烧友使用,那么该应用程序将非常有用,因此在智能手机或其他手持设备上运行的能力将非常有益。在那些地方,3G / 4G信号可能几乎不存在,因此能够下载区域的所有图像和信息是好的。

I want to create a new application. It will basically be a Deep Zoom application that users can draw annotations on (that will save to a DB so other users can see those annotations.) At first it will just simply run in a browser. However, the app would be useful if it could be used by enthusiasts in the field, so ability to run on smartphones or other handheld devices would be massively beneficial. 3G/4G signal is likely to be practically non existent in those places, so having the ability to download all the images and info for an "area" would be good.

我无法决定使用哪种技术。 Silverlight Deep Zoom应用程序在浏览器中看起来非常不错,但我听说它不是一种广泛支持的技术,MS可能无论如何都要放弃,唯一能够运行Silverlight的智能手机就是Windows手机=一小部分智能手机市场一般来说,Flash可能永远不会在iPhone / Apple产品上运行。我应该使用HTML5吗? HTML5对我来说似乎有点让人困惑,甚至可以创建一个用户可以注释的HTML5 Deep Zoom应用程序吗?

I can't decide on which technology to use. Silverlight Deep Zoom apps look really nice in browsers, but I have heard that it is not a widely supported technology that MS might be ditching anyway and the only smartphones that would be capable of running Silverlight would be Windows phones = a very small share of the smartphone market. Flash will probably never run on iPhones/Apple products in general. So should I use HTML5? HTML5 all seems a little confusing to me at the moment, would it even be possible to make a HTML5 Deep Zoom application that users could annotate?

任何想法和建议都会是非常方便,感谢阅读。

Any thoughts and advice would be really handy, thanks for reading.

推荐答案

我写了一个Deep Zoom应用程序,支持注释,用于概念验证几年以前。

I wrote a Deep Zoom app that supported annotation for a proof of concept a couple of years ago.

我使用了Django,但这不是我推荐的方法。如果我再次做同样的工作,我会使用基于HTML5的CanvasZoom。 Canvas Zoom可以通过javascript嵌入到网页中。这里有一个如何做到这一点的指南:

I used Django for this, however it is not approach I would recommend. If i was doing the same job again I would use CanvasZoom, which is based on HTML5. Canvas Zoom can be embedded into a webpage through javascript. There is a guide on how to do this here:

一个链接

不幸的是,您需要先在原始图像上运行Microsoft DeepZoom编辑器,以便生成深度缩放数据CanvasZoom将使用。如果您希望您的应用在浏览器中运行,则可能需要采用以下方法。

Unfortunately you need to run Microsoft DeepZoom composer on the original image first in order too generate the deep zoom data that CanvasZoom will use. If you want your app to run in a browser it is likely that you will have to go for the following approach.


  1. 用户选择图像。

  2. 图像上传到服务器

  3. 服务器创建深度缩放信息

  4. 使用基于PHP的方法让你有一个图像的canvaszoom页面。

  1. User selects image.
  2. Image gets uploaded to server
  3. Server creates deep zoom information
  4. Use a PHP based approach so you have a canvaszoom page for the image.

注释可能会使问题复杂化,我在尝试时用javascript做了这个。诀窍是在放大图像时计算出来(使用画布缩放有预设缩放级别)并重绘注释区域。我发现这种方法非常重要,但并不过分复杂。

The annotations will probably complicate matters, I did this with javascript when I attempted it. The trick is to work out when the image has been zoomed in (with canvas zoom there are preset zoom levels) and redraw the annotation regions. I found this approach non-trivial but not overly complicated.

Canvas Zoom获得MIT许可,因此您可以随意使用它。

Canvas Zoom is MIT licensed, so you can do what you like with it.

祝你的项目好运。

这篇关于正确选择新的Deep Zoom应用程序的工具的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆