2010-07-13 50 views
1

我正在建立一个锻炼网站,跟踪练习。每个练习都有一个映射到身体的某个部分(卧推 - >胸部)寻找建议,我如何可以突出显示区域上的图像

我想找出一种方法来形象化这个,我想到了把一个人的图像的想法“突出显示“受影响的肌肉。的排序是这样的:

alt text http://aquaviews.net/wp-content/uploads/2009/12/Quadriceps.png

假设我已经找到了一个很好的图片,没有任何方面强调,反正是有动态的“亮点”,在画面与JavaScript(客户端)或区域(红色部分) C#(服务器端)还是每个练习都需要单独的图片?

回答

2

您可以用SVG or a <canvas> element覆盖基本图像。

但是,你有跨浏览器的问题,可能的对齐问题,并可能是一个俗气的外观。

我会有一个艺术倾向的人做每个练习的独立图形的亮点。

但是,不要将这些图像作为单独的图像保存/合并到一个文件中 - 作为CSS Sprite。然后你会得到一个专业的外观,跨浏览器支持和简单,最少的编码。

0

您可以使用CSS在定位你的链接说肌肉群,并使用翻转,显示highlighed部分...

编辑: 对不起,我想我应该有详细阐述。您可以绝对使用CSS定位元素,并使用图像翻转将图像的该部分换出到该图像的突出显示的部分。您可以通过将每个肌肉群放入其自己的div并将相应肌肉群的图像放入背景图像中来做到这一点。然后将其交换出来。或者您可以使用z-index并将翻转元素绝对放置在需要的位置,并在需要时更改z-index。

0

我认为你正在寻找一种方法来做到这一点,而不需要单独的图像,如果是的话 - 答案是否定的 - 你将需要为至少突出显示的区域创建单独的图像。可能使用具有跨浏览器问题的CANVAS元素,我不相信有任何方法可以将过滤器强加到图像元素的任意区域。

即使你可以申请一个alpha滤镜,你仍然需要各种形状的几何形状,所以努力/工作也许是一样的...

一旦你的各种图像有各式各样的方法在那之后解决问题...

0

有趣的是,我曾经是一名私人教练,我做了同样的事情,但在闪光灯中做过。这是我的建议。但是,如果你想用JS和CSS来做到这一点,那么Brock对这些精灵的建议可能就是要走的路。

你可以做什么,很简单,就是有一个图像映射,对于某些被称为js函数的区域,可以使用与突出显示的部分相同版本的图像交换背景图像。而不是几个小图像,你有相同的图像,但一个部分突出显示。

虽然有一个问题,你会做复合练习,需要你有两个部分突出显示?例如,斜面印刷机将突出部分胸部和部分分层。由于您的翻身的特殊性,这使得整个提议更加复杂。

+0

你是对的,我想要某些练习,显示多个区域突出显示。我认为这不会带来更多的复杂性,但我可能低估了。你能否让我更深入地了解你的闪存解决方案? – leora 2010-07-13 10:38:58

+0

@ooo - 这个特定的应用程序是在几年前和几年前建立的,现在我不再拥有它了,但是我还为其他类似的客户端构建了其他东西。在这个例子中,客户希望你能够翻身身体的某些部位以找出与脊椎疼痛相关的信息。你会很快得到这个想法。 这是一个更大的页面所以的onClick处理程序没有做任何事情了一部分: http://build.jhousemedia.com/body_map.swf 我会更愿意帮忙的项目,如果你需要什么。 – jerebear 2010-07-13 16:08:23

0

这是一个简单的实现,因为我用县域地图强调了这一点。使用图像映射。然后找到像(mapper.netzgesta.de)mapper.js这样的高亮脚本。所有你需要做的是有一个适当的设置图像映射(图像必须由一个div)和链接到这个脚本。突出显示立即开始。请检查许可证。 Ther是其他几个使用javascript css和jquery实现相同效果的脚本。只需研究突出显示在谷歌图像地图。对不起,我不能给你一个链接到我的实施,因为它是在一个安全的工作网站。祝你好运。

相关问题