我如何从网页上的数百个小片建立一个标志图像



我想切片一个标志图像,并建立在一个网页上从很多小片,我想知道最好的方法来做到这一点是什么。如果可能的话,我宁愿避免使用闪光灯。

我可以在Photoshop中将logo切片,并逐渐删除切片,并将其保存为一系列图像,以幻灯片的形式运行。但是当我在谈论大量的切片时,比如大约500个,这将花费时间,并且可能不如其他方法看起来那么好。

是否有一种方法,也许使用jQuery,从许多小的html元素构建图像?

或许还有更好的方法?

我很乐意听取任何建议。

谢谢,尼克

这里有一个想法,我认为即使使用"普通"JavaScript也相当容易(但使用jQuery更容易):

  1. 在你的页面上包含一个样式为visibility : hidden的完整图像,在相同大小的容器div内。
  2. 使用jQuery创建一个网格的小不透明div绝对位于相同的容器div,与z-index,将它们置于图像之上,即,覆盖图像。当您创建它们时,将它们存储在数组中。
  3. 设置图像为visibility : "visible"
  4. 随机排序上述数组,然后用setTimeoutsetInterval循环遍历,每次迭代删除一个div,逐渐显示图片。

当然,上面的优点是它可以处理任何图片,而不必对其进行切片,并且假设您提到了500个切片,您就不会有500个http请求来加载所有图片。如果你想让每个单独的切片显示有一点动画效果,你可以用jQuery的.slideUp()或其他东西隐藏它。

另一方面,你可能喜欢图片的每一部分从不同的方向飞来之类的。为此,您仍然可以创建div的网格,但设置每个div都有一个(CSS)图像背景,并具有适当的偏移值,以便每个div都成为"拼图"的单独部分。

编辑:我忘了说可能已经有一个jQuery插件(如果不是无数的插件)做这种事情。我不知道具体是哪一个,但你可以在谷歌上搜索一下。以上只是我想到的第一个从头开始编写的方法…

编辑2:工作(sort of)演示: http://jsfiddle.net/sEE8R/1/(这只是一些可疑的代码,我根据上面的算法粗略地拼凑在一起。而不是一个图像,我使用了一个红色的div,它被绿色的div覆盖,随机删除。

将原始图像视为CSS精灵,并以编程方式创建作为其子集切片的元素。

或者,加载图像,重复使用drawImage()将其子部分绘制到HTML5画布,使用toDataURL()获得字符串并在JS中创建new Image设置此数据URL。

您可能需要检查:

http://slicephotoshop.com

如果你的logo是由图层组成的,

相关内容

最新更新